mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 17:09:59 +03:00
Expand declared filtering tests
- Test declared filter ordering - Test multiple inheritance
This commit is contained in:
parent
e57c1505fc
commit
6d84cb7d3b
|
@ -682,3 +682,39 @@ class TestDeclaredFieldInheritance:
|
||||||
assert len(Parent().get_fields()) == 2
|
assert len(Parent().get_fields()) == 2
|
||||||
assert len(Child().get_fields()) == 2
|
assert len(Child().get_fields()) == 2
|
||||||
assert len(Grandchild().get_fields()) == 2
|
assert len(Grandchild().get_fields()) == 2
|
||||||
|
|
||||||
|
def test_multiple_inheritance(self):
|
||||||
|
class A(serializers.Serializer):
|
||||||
|
field = serializers.CharField()
|
||||||
|
|
||||||
|
class B(serializers.Serializer):
|
||||||
|
field = serializers.IntegerField()
|
||||||
|
|
||||||
|
class TestSerializer(A, B):
|
||||||
|
pass
|
||||||
|
|
||||||
|
fields = {
|
||||||
|
name: type(f) for name, f
|
||||||
|
in TestSerializer()._declared_fields.items()
|
||||||
|
}
|
||||||
|
assert fields == {
|
||||||
|
'field': serializers.CharField
|
||||||
|
}
|
||||||
|
|
||||||
|
def test_field_ordering(self):
|
||||||
|
class Base(serializers.Serializer):
|
||||||
|
f1 = serializers.CharField()
|
||||||
|
f2 = serializers.CharField()
|
||||||
|
|
||||||
|
class A(Base):
|
||||||
|
f3 = serializers.CharField()
|
||||||
|
|
||||||
|
class B(serializers.Serializer):
|
||||||
|
f4 = serializers.CharField()
|
||||||
|
|
||||||
|
class TestSerializer(A, B):
|
||||||
|
f2 = serializers.CharField()
|
||||||
|
f5 = serializers.CharField()
|
||||||
|
|
||||||
|
field_names = list(TestSerializer()._declared_fields)
|
||||||
|
assert field_names == ['f1', 'f2', 'f3', 'f4', 'f5']
|
||||||
|
|
Loading…
Reference in New Issue
Block a user