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
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)