aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests
diff options
context:
space:
mode:
authorTom Christie2012-10-05 16:24:52 +0100
committerTom Christie2012-10-05 16:24:52 +0100
commit2533c2452b383771f80e6d40c93ae4a5ef6a8cf7 (patch)
tree9bf467db0f43bd921270850cb7f664cededd9388 /rest_framework/tests
parent7218bcbadeac76a939e757bd0c4c336846548b51 (diff)
downloaddjango-rest-framework-2533c2452b383771f80e6d40c93ae4a5ef6a8cf7.tar.bz2
Support PUT for create
Diffstat (limited to 'rest_framework/tests')
-rw-r--r--rest_framework/tests/generics.py15
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')