Skip to content

Commit 395cebe

Browse files
committed
Add a test to show how single updates work
1 parent 33b4977 commit 395cebe

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

tests/test_serializer_lists.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,19 @@ class TestManyTrueValidationCheck:
785785
(integer and email).
786786
"""
787787

788+
class PersonUUIDSerializer(serializers.ModelSerializer):
789+
uuid = serializers.UUIDField(source="id")
790+
791+
class Meta:
792+
model = PersonUUID
793+
fields = ("uuid", "name")
794+
read_only_fields = ("uuid",)
795+
796+
def validate_name(self, value):
797+
if value and not self.instance.is_valid:
798+
return False
799+
return value
800+
788801
def setup_method(self):
789802
self.obj1 = ListModelForTest.objects.create(name="valid", status="new")
790803
self.obj2 = ListModelForTest.objects.create(name="invalid", status="")
@@ -845,24 +858,20 @@ def test_uuid_validate_many(self):
845858
PersonUUID.objects.create(id="c20f2f31-65a3-451f-ae7d-e939b7d9f84b", name="valid")
846859
PersonUUID.objects.create(id="3308237e-18d8-4074-9d05-79cc0fdb5bb3", name="other")
847860

848-
class PersonUUIDSerializer(serializers.ModelSerializer):
849-
uuid = serializers.UUIDField(source="id")
850-
851-
class Meta:
852-
model = PersonUUID
853-
fields = ("uuid", "name")
854-
read_only_fields = ('uuid',)
855-
856-
def validate_name(self, value):
857-
if value and not self.instance.is_valid:
858-
return False
859-
return value
860-
861861
input_data = [
862862
{
863863
"uuid": "t3308237e-18d8-4074-9d05-79cc0fdb5bb3",
864864
"name": "bar",
865865
},
866866
]
867-
serializer = PersonUUIDSerializer(instance=list(PersonUUID.objects.all()), data=input_data, many=True)
867+
serializer = self.PersonUUIDSerializer(instance=list(PersonUUID.objects.all()), data=input_data, many=True)
868+
assert serializer.is_valid(), serializer.errors
869+
870+
def test_uuid_validate_single(self):
871+
instance = PersonUUID.objects.create(id="c20f2f31-65a3-451f-ae7d-e939b7d9f84b", name="food")
872+
873+
serializer = self.PersonUUIDSerializer(
874+
instance=instance,
875+
data={"uuid": "c20f2f31-65a3-451f-ae7d-e939b7d9f84b", "name": "valid"},
876+
)
868877
assert serializer.is_valid(), serializer.errors

0 commit comments

Comments
 (0)