mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 17:09:59 +03:00
Improve field order test to check for field types
This commit is contained in:
parent
2d72436bfc
commit
51915583e2
|
@ -698,7 +698,7 @@ class TestDeclaredFieldInheritance:
|
||||||
in TestSerializer()._declared_fields.items()
|
in TestSerializer()._declared_fields.items()
|
||||||
}
|
}
|
||||||
assert fields == {
|
assert fields == {
|
||||||
'field': serializers.CharField
|
'field': serializers.CharField,
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_field_ordering(self):
|
def test_field_ordering(self):
|
||||||
|
@ -707,14 +707,28 @@ class TestDeclaredFieldInheritance:
|
||||||
f2 = serializers.CharField()
|
f2 = serializers.CharField()
|
||||||
|
|
||||||
class A(Base):
|
class A(Base):
|
||||||
f3 = serializers.CharField()
|
f3 = serializers.IntegerField()
|
||||||
|
|
||||||
class B(serializers.Serializer):
|
class B(serializers.Serializer):
|
||||||
|
f3 = serializers.CharField()
|
||||||
f4 = serializers.CharField()
|
f4 = serializers.CharField()
|
||||||
|
|
||||||
class TestSerializer(A, B):
|
class TestSerializer(A, B):
|
||||||
f2 = serializers.CharField()
|
f2 = serializers.IntegerField()
|
||||||
f5 = serializers.CharField()
|
f5 = serializers.CharField()
|
||||||
|
|
||||||
field_names = list(TestSerializer()._declared_fields)
|
fields = {
|
||||||
assert field_names == ['f1', 'f2', 'f3', 'f4', 'f5']
|
name: type(f) for name, f
|
||||||
|
in TestSerializer()._declared_fields.items()
|
||||||
|
}
|
||||||
|
|
||||||
|
# `IntegerField`s should be the 'winners' in field name conflicts
|
||||||
|
# - `TestSerializer.f2` should override `Base.F2`
|
||||||
|
# - `A.f3` should override `B.f3`
|
||||||
|
assert fields == {
|
||||||
|
'f1': serializers.CharField,
|
||||||
|
'f2': serializers.IntegerField,
|
||||||
|
'f3': serializers.IntegerField,
|
||||||
|
'f4': serializers.CharField,
|
||||||
|
'f5': serializers.CharField,
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user