diff options
| author | Andrew Hankinson | 2012-12-16 14:49:18 -0500 | 
|---|---|---|
| committer | Andrew Hankinson | 2012-12-16 14:49:18 -0500 | 
| commit | 18338a37d356faebb0f59bd57b2ba876d66e6b73 (patch) | |
| tree | edb7894e715723c1b29ba8042be0c3d6a687b312 /rest_framework/tests | |
| parent | 4f96951be9800cfc1fc67795a26d11ac66abc60d (diff) | |
| download | django-rest-framework-18338a37d356faebb0f59bd57b2ba876d66e6b73.tar.bz2 | |
Adding PATCH support to Django REST Framework
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/decorators.py | 14 | ||||
| -rw-r--r-- | rest_framework/tests/generics.py | 13 | ||||
| -rw-r--r-- | rest_framework/tests/views.py | 4 | 
3 files changed, 30 insertions, 1 deletions
diff --git a/rest_framework/tests/decorators.py b/rest_framework/tests/decorators.py index 41864d71..a36444cc 100644 --- a/rest_framework/tests/decorators.py +++ b/rest_framework/tests/decorators.py @@ -63,6 +63,20 @@ class DecoratorTestCase(TestCase):          response = view(request)          self.assertEqual(response.status_code, 405) +    # def test_calling_patch_method(self): + +    #     @api_view(['GET', 'PATCH']) +    #     def view(request): +    #         return Response({}) + +    #     request = self.factory.patch('/') +    #     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']) diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py index a8279ef2..1b55a3a5 100644 --- a/rest_framework/tests/generics.py +++ b/rest_framework/tests/generics.py @@ -180,6 +180,19 @@ class TestInstanceView(TestCase):          updated = self.objects.get(id=1)          self.assertEquals(updated.text, 'foobar') +    # def test_patch_instance_view(self): +    #     """ +    #     PATCH requests to RetrieveUpdateDestroyAPIView should update an object. +    #     """ +    #     content = {'text': 'foobar'} +    #     request = factory.patch('/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') +      def test_delete_instance_view(self):          """          DELETE requests to RetrieveUpdateDestroyAPIView should delete an object. diff --git a/rest_framework/tests/views.py b/rest_framework/tests/views.py index 43365e07..7cd82656 100644 --- a/rest_framework/tests/views.py +++ b/rest_framework/tests/views.py @@ -18,7 +18,7 @@ class BasicView(APIView):          return Response({'method': 'POST', 'data': request.DATA}) -@api_view(['GET', 'POST', 'PUT']) +@api_view(['GET', 'POST', 'PUT', 'PATCH'])  def basic_view(request):      if request.method == 'GET':          return {'method': 'GET'} @@ -26,6 +26,8 @@ def basic_view(request):          return {'method': 'POST', 'data': request.DATA}      elif request.method == 'PUT':          return {'method': 'PUT', 'data': request.DATA} +    elif request.method == 'PATCH': +        return {'method': 'PATCH', 'data': request.DATA}  def sanitise_json_error(error_dict):  | 
