diff options
| author | Andrew Hankinson | 2012-12-20 00:28:01 -0500 |
|---|---|---|
| committer | Andrew Hankinson | 2012-12-20 00:28:01 -0500 |
| commit | e61eab43f46dd100cf3efe9262474046678951a3 (patch) | |
| tree | 2a349bc3dfa0b38fcc7339155e1cbf93322b3d24 | |
| parent | 2b5deefe567d46315e9233fd405328e762e4ce07 (diff) | |
| download | django-rest-framework-e61eab43f46dd100cf3efe9262474046678951a3.tar.bz2 | |
Adjust PATCH test cases to use the new DRFRequestFactory
| -rw-r--r-- | rest_framework/tests/decorators.py | 26 | ||||
| -rw-r--r-- | rest_framework/tests/generics.py | 31 |
2 files changed, 30 insertions, 27 deletions
diff --git a/rest_framework/tests/decorators.py b/rest_framework/tests/decorators.py index a36444cc..c2387f58 100644 --- a/rest_framework/tests/decorators.py +++ b/rest_framework/tests/decorators.py @@ -1,7 +1,7 @@ from django.test import TestCase from rest_framework import status from rest_framework.response import Response -from django.test.client import RequestFactory +# from django.test.client import RequestFactory from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser from rest_framework.authentication import BasicAuthentication @@ -17,11 +17,13 @@ from rest_framework.decorators import ( permission_classes, ) +from rest_framework.tests.utils import DRFRequestFactory + class DecoratorTestCase(TestCase): def setUp(self): - self.factory = RequestFactory() + self.factory = DRFRequestFactory() def _finalize_response(self, request, response, *args, **kwargs): response.request = request @@ -63,19 +65,19 @@ class DecoratorTestCase(TestCase): response = view(request) self.assertEqual(response.status_code, 405) - # def test_calling_patch_method(self): + def test_calling_patch_method(self): - # @api_view(['GET', 'PATCH']) - # def view(request): - # return Response({}) + @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.patch('/') + response = view(request) + self.assertEqual(response.status_code, 200) - # request = self.factory.post('/') - # response = view(request) - # self.assertEqual(response.status_code, 405) + request = self.factory.post('/') + response = view(request) + self.assertEqual(response.status_code, 405) def test_renderer_classes(self): diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py index 1b55a3a5..a5432d11 100644 --- a/rest_framework/tests/generics.py +++ b/rest_framework/tests/generics.py @@ -1,11 +1,11 @@ from django.test import TestCase -from django.test.client import RequestFactory from django.utils import simplejson as json from rest_framework import generics, serializers, status +from rest_framework.tests.utils import DRFRequestFactory from rest_framework.tests.models import BasicModel, Comment, SlugBasedModel -factory = RequestFactory() +factory = DRFRequestFactory() class RootView(generics.ListCreateAPIView): @@ -15,7 +15,7 @@ class RootView(generics.ListCreateAPIView): model = BasicModel -class InstanceView(generics.RetrieveUpdateDestroyAPIView): +class InstanceView(generics.RetrievePartialUpdateDestroyAPIView): """ Example description for OPTIONS. """ @@ -180,18 +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_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): """ |
