aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTom Christie2014-12-08 14:56:45 +0000
committerTom Christie2014-12-08 14:56:45 +0000
commiteee02a47d997bd4439fe5fbdc01979d8f372247a (patch)
treed87d8b4b17198ccf33c8515033a2378e3dc4f3f0 /tests
parentef89c1566329f723e8a54f58ebe5aef51489f1b9 (diff)
downloaddjango-rest-framework-eee02a47d997bd4439fe5fbdc01979d8f372247a.tar.bz2
Added ListSerializer.validate(). Closes #2168.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_serializer_lists.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_serializer_lists.py b/tests/test_serializer_lists.py
index 640067e3..35b68ae7 100644
--- a/tests/test_serializer_lists.py
+++ b/tests/test_serializer_lists.py
@@ -272,3 +272,19 @@ class TestNestedListOfListsSerializer:
serializer = self.Serializer(data=input_data)
assert serializer.is_valid()
assert serializer.validated_data == expected_output
+
+
+class TestListSerializerClass:
+ """Tests for a custom list_serializer_class."""
+ def test_list_serializer_class_validate(self):
+ class CustomListSerializer(serializers.ListSerializer):
+ def validate(self, attrs):
+ raise serializers.ValidationError('Non field error')
+
+ class TestSerializer(serializers.Serializer):
+ class Meta:
+ list_serializer_class = CustomListSerializer
+
+ serializer = TestSerializer(data=[], many=True)
+ assert not serializer.is_valid()
+ assert serializer.errors == {'non_field_errors': ['Non field error']}