コード例 #1
0
    def test_should_create(self, create_person_entity):
        resource = PersonResource()
        expected_entity = PersonEntity(name='John',
                                       email="*****@*****.**",
                                       phone='1234',
                                       address={
                                           'city': 'bangalore',
                                           'country': 'India'
                                       },
                                       nick_names=['Johnny', 'Papa'])

        create_person_entity.return_value = expected_entity
        request = request_factory.get_request(user=object(),
                                              data=expected_entity.__dict__)

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(True))
        expected_data = expected_entity.__dict__
        expected_data.update(friends=[])
        expected_data.update(company=None)
        assert_that(response.data, equal_to(expected_data))
        expected_update_kwargs = dict(name='John',
                                      email="*****@*****.**",
                                      address={'country': 'India'},
                                      nick_names=['Johnny', 'Papa'])
        create_person_entity.assert_called_once_with(request,
                                                     **expected_update_kwargs)
コード例 #2
0
    def test_readonly_fields_are_skipped_when_calling_create_entity(
            self, create_person_entity):
        resource = PersonResource()
        expected_entity = PersonEntity(name='John',
                                       email="*****@*****.**",
                                       phone='1234',
                                       address={
                                           'city': 'bangalore',
                                           'country': 'India'
                                       },
                                       company='foo company',
                                       nick_names=['Johnny', 'Papa'])

        create_person_entity.return_value = expected_entity
        request = request_factory.get_request(user=object(),
                                              data=expected_entity.__dict__)

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(True))

        expected_update_kwargs = dict(name='John',
                                      email="*****@*****.**",
                                      address={'country': 'India'},
                                      nick_names=['Johnny', 'Papa'])
        create_person_entity.assert_called_once_with(request,
                                                     **expected_update_kwargs)
コード例 #3
0
ファイル: test_create_detail.py プロジェクト: vickyonit/rip
    def test_create_with_null_for_non_nullable_field(self):
        resource = PersonResource()
        request = request_factory.get_request(user=object(), data={"name": None})

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(False))
        assert_that(response.data, has_entry("name", "null is not a valid value"))
コード例 #4
0
ファイル: test_create_detail.py プロジェクト: vickyonit/rip
    def test_create_with_missing_required_fields(self):
        resource = PersonResource()
        request = request_factory.get_request(user=object(), data={"email": "*****@*****.**"})

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(False))
        assert_that(response.data, has_entry("name", "This field is required"))
コード例 #5
0
    def test_create_with_missing_required_fields(self):
        resource = PersonResource()
        request = request_factory.get_request(user=object(),
                                              data={'email': '*****@*****.**'})

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(False))
        assert_that(response.data, has_entry('name', 'This field is required'))
コード例 #6
0
    def test_create_with_null_for_non_nullable_field(self):
        resource = PersonResource()
        request = request_factory.get_request(user=object(),
                                              data={'name': None})

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(False))
        assert_that(response.data,
                    has_entry('name', 'null is not a valid value'))
コード例 #7
0
ファイル: test_create_detail.py プロジェクト: vickyonit/rip
    def test_readonly_fields_are_skipped_when_calling_create_entity(self, create_person_entity):
        resource = PersonResource()
        expected_entity = PersonEntity(
            name="John",
            email="*****@*****.**",
            phone="1234",
            address={"city": "bangalore", "country": "India"},
            company="foo company",
            nick_names=["Johnny", "Papa"],
        )

        create_person_entity.return_value = expected_entity
        request = request_factory.get_request(user=object(), data=expected_entity.__dict__)

        response = resource.create_detail(request)

        assert_that(response.is_success, equal_to(True))

        expected_update_kwargs = dict(
            name="John", email="*****@*****.**", address={"country": "India"}, nick_names=["Johnny", "Papa"]
        )
        create_person_entity.assert_called_once_with(request, **expected_update_kwargs)