diff options
| author | Tom Christie | 2012-10-05 15:55:45 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-05 15:55:45 +0100 |
| commit | 7218bcbadeac76a939e757bd0c4c336846548b51 (patch) | |
| tree | 3844ceaef192d528b43aae5516236e25fe8e7468 | |
| parent | 2a89cb4fb7aac72a02ad17704553fe7dfb3ea10e (diff) | |
| download | django-rest-framework-7218bcbadeac76a939e757bd0c4c336846548b51.tar.bz2 | |
Add test for non-GET methods to api_view decorator
| -rw-r--r-- | rest_framework/fields.py | 3 | ||||
| -rw-r--r-- | rest_framework/tests/decorators.py | 14 |
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']) |
