aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorTom Christie2012-10-05 15:55:45 +0100
committerTom Christie2012-10-05 15:55:45 +0100
commit7218bcbadeac76a939e757bd0c4c336846548b51 (patch)
tree3844ceaef192d528b43aae5516236e25fe8e7468 /rest_framework
parent2a89cb4fb7aac72a02ad17704553fe7dfb3ea10e (diff)
downloaddjango-rest-framework-7218bcbadeac76a939e757bd0c4c336846548b51.tar.bz2
Add test for non-GET methods to api_view decorator
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/fields.py3
-rw-r--r--rest_framework/tests/decorators.py14
2 files changed, 16 insertions, 1 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index 5ce76817..cf7e692e 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -379,7 +379,8 @@ class HyperlinkedIdentityField(Field):
A field that represents the model's identity using a hyperlink.
"""
def __init__(self, *args, **kwargs):
- # TODO: Make this mandatory
+ # TODO: Make this mandatory, and have the HyperlinkedModelSerializer
+ # set it on-the-fly
self.view_name = kwargs.pop('view_name', None)
super(HyperlinkedIdentityField, self).__init__(*args, **kwargs)
diff --git a/rest_framework/tests/decorators.py b/rest_framework/tests/decorators.py
index a3217bd6..41864d71 100644
--- a/rest_framework/tests/decorators.py
+++ b/rest_framework/tests/decorators.py
@@ -49,6 +49,20 @@ class DecoratorTestCase(TestCase):
response = view(request)
self.assertEqual(response.status_code, 405)
+ def test_calling_put_method(self):
+
+ @api_view(['GET', 'PUT'])
+ def view(request):
+ return Response({})
+
+ request = self.factory.put('/')
+ response = view(request)
+ self.assertEqual(response.status_code, 200)
+
+ request = self.factory.post('/')
+ response = view(request)
+ self.assertEqual(response.status_code, 405)
+
def test_renderer_classes(self):
@api_view(['GET'])