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",
            }
        ])
Beispiel #2
0
    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"})
Beispiel #3
0
    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"
        })
Beispiel #4
0
    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': {}
        })
Beispiel #6
0
    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",
                         }])