def test_inheritance(self):
class DummyEndpoint(Endpoint):
model = Product
permission_classes = self.permission_classes
filter_fields = self.filter_fields
search_fields = self.search_fields
ordering_fields = self.ordering_fields
endpoint = DummyEndpoint()
self.assertEqual(endpoint.model, Product)
self.assertEqual(len(endpoint.get_fields_for_serializer()), len(self.fields) + 1)
for field in self.fields:
self.assertIn(field, endpoint.get_fields_for_serializer())
self.assertIn('__str__', endpoint.get_fields_for_serializer())
serializer = endpoint.get_serializer()
self.assertEqual(serializer.Meta.model, Product)
self.assertEqual(len(serializer.Meta.fields), len(self.endpoint.get_fields_for_serializer()))
viewset = endpoint.get_viewset()
for attr in ('permission_classes', 'filter_fields', 'search_fields', 'ordering_fields'):
self.assertEqual(getattr(viewset, attr), getattr(self, attr))
for backend in ('DjangoFilterBackend', 'SearchFilter', 'OrderingFilter'):
self.assertIn(backend, [be.__name__ for be in viewset.filter_backends])
评论列表
文章目录