Exemplo n.º 1
0
    def setUp(self):
        super(TestUpdateModelMixin, self).setUp()
        self.dummy = DummyModel.objects.create(name='dummy1')

        class DummyResource(ModelResource):
            model = DummyModel
        self.mixin = UpdateModelMixin()
        self.mixin.resource = DummyResource
Exemplo n.º 2
0
class TestUpdateModelMixin(TestMixinsBase):

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

        class DummyResource(ModelResource):
            model = DummyModel
        self.mixin = UpdateModelMixin()
        self.mixin.resource = DummyResource

    def test_update_model(self):
        """
        Making sure update still working fine
        """
        dummy = DummyModel.objects.get(id=1)

        update_data = {'name': 'updated_name'}
        request = self.req.put('/dummy/1', data=update_data)
        self.mixin.CONTENT = update_data

        response = self.mixin.put(request, id=dummy.id)

        self.assertEqual(dummy.name, 'dummy1')
        self.assertEqual(response.name, 'updated_name')
        self.assertEqual(response.id, dummy.id)

        #get dummy again now it should have the new name
        dummy = DummyModel.objects.get(id=dummy.id)
        self.assertEqual(dummy.name, response.name)

    def test_update_not_exist_model_return_404(self):
        """
        When make a put request to non-existing object in update mixin model, it should return 404
        """

        with self.assertRaises(DummyModel.DoesNotExist):
            DummyModel.objects.get(id=999)

        update_data = {'name': 'new_dummy'}
        request = self.req.put('/dummy/999', data=update_data)
        self.mixin.CONTENT = update_data

        self.assertRaises(ErrorResponse, self.mixin.put, request, id=999)