aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_serializer_lists.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_serializer_lists.py')
-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']}