def test_get_value_from_iterable(self): field = ObjectField(attr='person', properties={ 'first_name': TextField(analyzer='foo'), 'last_name': TextField() }) instance = NonCallableMock( person=[ NonCallableMock( first_name="foo1", last_name="bar1" ), NonCallableMock( first_name="foo2", last_name="bar2" ) ] ) self.assertEqual(field.get_value_from_instance(instance), [ { 'first_name': "foo1", 'last_name': "bar1", }, { 'first_name': "foo2", 'last_name': "bar2", } ])
def test_get_value_from_instance_with_partial_properties(self): field = ObjectField( attr='person', properties={'first_name': TextField(analyzer='foo')}) instance = NonCallableMock( person=NonCallableMock(first_name='foo', last_name='bar')) self.assertEqual(field.get_value_from_instance(instance), {'first_name': "foo"})
def test_get_value_from_instance_without_properties(self): field = ObjectField(attr='person') instance = NonCallableMock(person={ 'first_name': 'foo', 'last_name': 'bar' }) self.assertEqual(field.get_value_from_instance(instance), { 'first_name': "foo", 'last_name': "bar" })
def test_get_value_from_instance(self): field = ObjectField(attr='person', properties={ 'first_name': StringField(analyzier='foo'), 'last_name': StringField() }) instance = NonCallableMock(person=NonCallableMock( first_name='foo', last_name='bar')) self.assertEqual(field.get_value_from_instance(instance), { 'first_name': "foo", 'last_name': "bar", })
def test_get_value_from_instance_with_none_inner_objectfield(self): field = ObjectField(attr='person', properties={ 'first_name': TextField(analyzer='foo'), 'last_name': TextField(), 'additional': ObjectField(properties={ 'age': IntegerField() }) }) instance = NonCallableMock(person=NonCallableMock( first_name="foo", last_name="bar", additional=None )) self.assertEqual(field.get_value_from_instance(instance), { 'first_name': "foo", 'last_name': "bar", 'additional': {} })
def test_get_value_from_iterable_without_properties(self): field = ObjectField(attr='person') instance = NonCallableMock(person=[{ 'first_name': "foo1", 'last_name': "bar1" }, { 'first_name': "foo2", 'last_name': "bar2" }]) self.assertEqual(field.get_value_from_instance(instance), [{ 'first_name': "foo1", 'last_name': "bar1", }, { 'first_name': "foo2", 'last_name': "bar2", }])