aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_fields.py')
-rw-r--r--tests/test_fields.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_fields.py b/tests/test_fields.py
index 6dc5f87d..3e102ab5 100644
--- a/tests/test_fields.py
+++ b/tests/test_fields.py
@@ -215,6 +215,33 @@ class TestBooleanHTMLInput:
assert serializer.validated_data == {'archived': False}
+class TestCreateOnlyDefault:
+ def setup(self):
+ default = serializers.CreateOnlyDefault('2001-01-01')
+
+ class TestSerializer(serializers.Serializer):
+ published = serializers.HiddenField(default=default)
+ text = serializers.CharField()
+ self.Serializer = TestSerializer
+
+ def test_create_only_default_is_provided(self):
+ serializer = self.Serializer(data={'text': 'example'})
+ assert serializer.is_valid()
+ assert serializer.validated_data == {
+ 'text': 'example', 'published': '2001-01-01'
+ }
+
+ def test_create_only_default_is_not_provided_on_update(self):
+ instance = {
+ 'text': 'example', 'published': '2001-01-01'
+ }
+ serializer = self.Serializer(instance, data={'text': 'example'})
+ assert serializer.is_valid()
+ assert serializer.validated_data == {
+ 'text': 'example',
+ }
+
+
# Tests for field input and output values.
# ----------------------------------------