From 9430c4982a6b556ff6c94ff357af9db540a6d9eb Mon Sep 17 00:00:00 2001 From: Nicolas Delaby Date: Tue, 12 Aug 2025 18:30:38 +0200 Subject: [PATCH] Reproducible test --- tests/test_validators.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/test_validators.py b/tests/test_validators.py index 15f30f1c0..ea5bf3a4d 100644 --- a/tests/test_validators.py +++ b/tests/test_validators.py @@ -753,22 +753,30 @@ class TestUniqueConstraintValidation(TestCase): ) assert serializer.is_valid() - def test_uniq_constraint_condition_read_only(self): + def test_uniq_constraint_condition_read_only_create(self): class UniqueConstraintReadOnlyFieldModelSerializer(serializers.ModelSerializer): class Meta: model = UniqueConstraintReadOnlyFieldModel read_only_fields = ("state",) fields = ("position", "something", *read_only_fields) - serializer = UniqueConstraintReadOnlyFieldModelSerializer( data={"position": 1, "something": 1} ) assert serializer.is_valid() - UniqueConstraintReadOnlyFieldModel.objects.create(position=1, something=1) + + def test_uniq_constraint_condition_read_only_partial(self): + class UniqueConstraintReadOnlyFieldModelSerializer(serializers.ModelSerializer): + class Meta: + model = UniqueConstraintReadOnlyFieldModel + read_only_fields = ("state",) + fields = ("position", "something", *read_only_fields) + instance = UniqueConstraintReadOnlyFieldModel.objects.create(position=1, something=1) serializer = UniqueConstraintReadOnlyFieldModelSerializer( - data={"position": 1, "something": 1} + instance=instance, + data={"position": 1, "something": 1}, + partial=True ) - assert not serializer.is_valid() + assert serializer.is_valid() # Tests for `UniqueForDateValidator`