예제 #1
0
class TestCreateModelMixin(TestMixinsBase):

    def setUp(self):
        super(TestCreateModelMixin, self).setUp()
        self.dummy = DummyModel.objects.create(name='dummy1')

        class DummyResource(ModelResource):
            model = DummyModel

            def url(self, instance):
                return '/dummy/%s' % instance.id
        self.mixin = CreateModelMixin()
        self.mixin.resource = DummyResource

    def test_post_to_create_must_return_content_location_header(self):

        with self.assertRaises(DummyModel.DoesNotExist):
            DummyModel.objects.get(name='new_dummy')

        self.assertEqual(DummyModel.objects.count(), 1)
        form_data = {'name': 'new_dummy'}
        request = self.req.post('/dummies', data=form_data)
        self.mixin.CONTENT = form_data

        response = self.mixin.post(request)
        self.assertEqual(DummyModel.objects.count(), 2)
        self.assertEqual(response.status, 201)
        self.assertEqual(response.cleaned_content.name, 'new_dummy')
        self.assertTrue(response.headers.has_key('Content-Location'))
        self.assertEqual(response.headers['Content-Location'], '/dummy/2')
예제 #2
0
    def setUp(self):
        super(TestCreateModelMixin, self).setUp()
        self.dummy = DummyModel.objects.create(name='dummy1')

        class DummyResource(ModelResource):
            model = DummyModel

            def url(self, instance):
                return '/dummy/%s' % instance.id
        self.mixin = CreateModelMixin()
        self.mixin.resource = DummyResource