aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/generics.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/tests/generics.py')
-rw-r--r--rest_framework/tests/generics.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py
index 4a13389a..12c9b677 100644
--- a/rest_framework/tests/generics.py
+++ b/rest_framework/tests/generics.py
@@ -344,6 +344,30 @@ class TestOverriddenGetObject(TestCase):
self.assertEqual(response.data, self.data[0])
+class TestFieldsShortcut(TestCase):
+ """
+ Test cases for setting the `fields` attribute on a view.
+ """
+ def setUp(self):
+ class OverriddenFieldsView(generics.RetrieveUpdateDestroyAPIView):
+ model = BasicModel
+ fields = ('text',)
+
+ class RegularView(generics.RetrieveUpdateDestroyAPIView):
+ model = BasicModel
+
+ self.overridden_fields_view = OverriddenFieldsView()
+ self.regular_view = RegularView()
+
+ def test_overridden_fields_view(self):
+ Serializer = self.overridden_fields_view.get_serializer_class()
+ self.assertEqual(Serializer().fields.keys(), ['text'])
+
+ def test_not_overridden_fields_view(self):
+ Serializer = self.regular_view.get_serializer_class()
+ self.assertEqual(Serializer().fields.keys(), ['id', 'text'])
+
+
# Regression test for #285
class CommentSerializer(serializers.ModelSerializer):