Skip to content

Commit

Permalink
fix: value to LinkField can by None
Browse files Browse the repository at this point in the history
  • Loading branch information
Julián Cortés committed Sep 9, 2020
1 parent db64857 commit c4648a8
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 28 deletions.
62 changes: 36 additions & 26 deletions nyoibo/fields.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion nyoibo/fields.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ cdef class LinkField(Field):
self.to = to

cpdef public parse(self, value):
if isinstance(value, self.to):
if value is None or isinstance(value, self.to):
return value
raise FieldValueError(f'{type(value)} is not a valid value for '
f'{self.__class__.__name__}')
9 changes: 8 additions & 1 deletion tests/test_fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,10 +185,17 @@ class NewEntity(Entity):

link_field = fields.LinkField(to=NewEntity)
new_entity = NewEntity()

assert link_field.parse(new_entity) == new_entity


def test_parse_none_link_field():
class NewEntity(Entity):
pass

link_field = fields.LinkField(to=NewEntity)
assert link_field.parse(None) is None


wrong_link_values = (
'123',
123,
Expand Down

0 comments on commit c4648a8

Please sign in to comment.