From 395cebe87f017b444b34d58d3b7f3b571752e1bd Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Wed, 3 Sep 2025 19:42:58 +0100 Subject: [PATCH] Add a test to show how single updates work --- tests/test_serializer_lists.py | 37 +++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/tests/test_serializer_lists.py b/tests/test_serializer_lists.py index aa806c1d1..6155a9ca7 100644 --- a/tests/test_serializer_lists.py +++ b/tests/test_serializer_lists.py @@ -785,6 +785,19 @@ class TestManyTrueValidationCheck: (integer and email). """ + class PersonUUIDSerializer(serializers.ModelSerializer): + uuid = serializers.UUIDField(source="id") + + class Meta: + model = PersonUUID + fields = ("uuid", "name") + read_only_fields = ("uuid",) + + def validate_name(self, value): + if value and not self.instance.is_valid: + return False + return value + def setup_method(self): self.obj1 = ListModelForTest.objects.create(name="valid", status="new") self.obj2 = ListModelForTest.objects.create(name="invalid", status="") @@ -845,24 +858,20 @@ class TestManyTrueValidationCheck: PersonUUID.objects.create(id="c20f2f31-65a3-451f-ae7d-e939b7d9f84b", name="valid") PersonUUID.objects.create(id="3308237e-18d8-4074-9d05-79cc0fdb5bb3", name="other") - class PersonUUIDSerializer(serializers.ModelSerializer): - uuid = serializers.UUIDField(source="id") - - class Meta: - model = PersonUUID - fields = ("uuid", "name") - read_only_fields = ('uuid',) - - def validate_name(self, value): - if value and not self.instance.is_valid: - return False - return value - input_data = [ { "uuid": "t3308237e-18d8-4074-9d05-79cc0fdb5bb3", "name": "bar", }, ] - serializer = PersonUUIDSerializer(instance=list(PersonUUID.objects.all()), data=input_data, many=True) + serializer = self.PersonUUIDSerializer(instance=list(PersonUUID.objects.all()), data=input_data, many=True) + assert serializer.is_valid(), serializer.errors + + def test_uuid_validate_single(self): + instance = PersonUUID.objects.create(id="c20f2f31-65a3-451f-ae7d-e939b7d9f84b", name="food") + + serializer = self.PersonUUIDSerializer( + instance=instance, + data={"uuid": "c20f2f31-65a3-451f-ae7d-e939b7d9f84b", "name": "valid"}, + ) assert serializer.is_valid(), serializer.errors