mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 08:59:54 +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(Child().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