diff options
| author | Xavier Ordoquy | 2013-11-18 20:15:35 +0100 | 
|---|---|---|
| committer | Xavier Ordoquy | 2013-11-18 20:15:35 +0100 | 
| commit | 88f5921f2fb7f4480e5d3da97508c815bba17155 (patch) | |
| tree | f2a19e7487940590e9b5e082ae12f302dacfed67 /rest_framework/tests | |
| parent | 128bda5712ef041514c5e2feadef0ad248f33f54 (diff) | |
| download | django-rest-framework-88f5921f2fb7f4480e5d3da97508c815bba17155.tar.bz2 | |
Removed the DynamicSerializerView duplication
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/test_generics.py | 41 | 
1 files changed, 19 insertions, 22 deletions
diff --git a/rest_framework/tests/test_generics.py b/rest_framework/tests/test_generics.py index 79cd99ac..3fcef606 100644 --- a/rest_framework/tests/test_generics.py +++ b/rest_framework/tests/test_generics.py @@ -508,6 +508,25 @@ class ExclusiveFilterBackend(object):          return queryset.filter(text='other') +class TwoFieldModel(models.Model): +    field_a = models.CharField(max_length=100) +    field_b = models.CharField(max_length=100) + + +class DynamicSerializerView(generics.ListCreateAPIView): +    model = TwoFieldModel +    renderer_classes = (renderers.BrowsableAPIRenderer, renderers.JSONRenderer) + +    def get_serializer_class(self): +        if self.request.method == 'POST': +            class DynamicSerializer(serializers.ModelSerializer): +                class Meta: +                    model = TwoFieldModel +                    fields = ('field_b',) +            return DynamicSerializer +        return super(DynamicSerializerView, self).get_serializer_class() + +  class TestFilterBackendAppliedToViews(TestCase):      def setUp(self): @@ -564,28 +583,6 @@ class TestFilterBackendAppliedToViews(TestCase):          self.assertEqual(response.status_code, status.HTTP_200_OK)          self.assertEqual(response.data, {'id': 1, 'text': 'foo'}) - -class TwoFieldModel(models.Model): -    field_a = models.CharField(max_length=100) -    field_b = models.CharField(max_length=100) - - -class DynamicSerializerView(generics.ListCreateAPIView): -    model = TwoFieldModel -    renderer_classes = (renderers.BrowsableAPIRenderer, renderers.JSONRenderer) - -    def get_serializer_class(self): -        if self.request.method == 'POST': -            class DynamicSerializer(serializers.ModelSerializer): -                class Meta: -                    model = TwoFieldModel -                    fields = ('field_b',) -            return DynamicSerializer -        return super(DynamicSerializerView, self).get_serializer_class() - - -class TestFilterBackendAppliedToViews(TestCase): -      def test_dynamic_serializer_form_in_browsable_api(self):          """          GET requests to ListCreateAPIView should return filtered list.  | 
