diff options
Diffstat (limited to 'tests/test_fields.py')
| -rw-r--r-- | tests/test_fields.py | 27 |
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. # ---------------------------------------- |
