From 71a1931a06b6ad5ac8aac62ffc3bd41baa12af7b Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Fri, 22 Jun 2018 00:40:57 +0200 Subject: [PATCH] tests: add TestSerializerPartialUsage.test_partial_dictfield --- tests/test_serializer_lists.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/test_serializer_lists.py b/tests/test_serializer_lists.py index 12ed78b84..ce4d5373a 100644 --- a/tests/test_serializer_lists.py +++ b/tests/test_serializer_lists.py @@ -294,7 +294,7 @@ class TestListSerializerClass: class TestSerializerPartialUsage: """ - When not submitting key for list fields or multiple choice, partial + When not submitting keys for list, dict or multiple choice fields, partial serialization should result in an empty state (key not there), not an empty list. @@ -320,6 +320,16 @@ class TestSerializerPartialUsage: assert serializer.validated_data == {} assert serializer.errors == {} + def test_partial_dictfield(self): + class DictFieldSerializer(serializers.Serializer): + data = serializers.DictField() + serializer = DictFieldSerializer(data=MultiValueDict(), partial=True) + result = serializer.to_internal_value(data={}) + assert "data" not in result + assert serializer.is_valid() + assert serializer.validated_data == {} + assert serializer.errors == {} + def test_allow_empty_true(self): class ListSerializer(serializers.Serializer): update_field = serializers.IntegerField()