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.  # ---------------------------------------- | 
