diff options
| author | Tom Christie | 2012-10-05 16:24:52 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-05 16:24:52 +0100 |
| commit | 2533c2452b383771f80e6d40c93ae4a5ef6a8cf7 (patch) | |
| tree | 9bf467db0f43bd921270850cb7f664cededd9388 /rest_framework/tests/generics.py | |
| parent | 7218bcbadeac76a939e757bd0c4c336846548b51 (diff) | |
| download | django-rest-framework-2533c2452b383771f80e6d40c93ae4a5ef6a8cf7.tar.bz2 | |
Support PUT for create
Diffstat (limited to 'rest_framework/tests/generics.py')
| -rw-r--r-- | rest_framework/tests/generics.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py index c0645d6e..2a6a0744 100644 --- a/rest_framework/tests/generics.py +++ b/rest_framework/tests/generics.py @@ -208,3 +208,18 @@ class TestInstanceView(TestCase): self.assertEquals(response.data, {'id': 1, 'text': 'foobar'}) updated = self.objects.get(id=1) self.assertEquals(updated.text, 'foobar') + + def test_put_to_deleted_instance(self): + """ + PUT requests to RetrieveUpdateDestroyAPIView should create an object + if it does not currently exist. + """ + self.objects.get(id=1).delete() + content = {'text': 'foobar'} + request = factory.put('/1', json.dumps(content), + content_type='application/json') + response = self.view(request, pk=1).render() + self.assertEquals(response.status_code, status.HTTP_200_OK) + self.assertEquals(response.data, {'id': 1, 'text': 'foobar'}) + updated = self.objects.get(id=1) + self.assertEquals(updated.text, 'foobar') |
