From af22135abb552be7c5b10acf3b05f3d5cbbb6dc4 Mon Sep 17 00:00:00 2001 From: kmwenja Date: Fri, 9 Oct 2015 11:41:22 +0300 Subject: [PATCH] Test improper configuration of ordering just checking that the ImproperlyConfigured error is raised if ordering_fields, serializer_class and get_serializer_class are not provided in the view. --- tests/test_filters.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_filters.py b/tests/test_filters.py index 5aaf2db00..9d9acdb7f 100644 --- a/tests/test_filters.py +++ b/tests/test_filters.py @@ -776,6 +776,20 @@ class OrderingFilterTests(TestCase): ] ) + def test_ordering_with_improper_configuration(self): + class OrderingListView(generics.ListAPIView): + queryset = OrderingFilterModel.objects.all() + filter_backends = (filters.OrderingFilter,) + ordering = ('title',) + # note: no ordering_fields and serializer_class + # or get_serializer_class speficied + + view = OrderingListView.as_view() + request = factory.get('/', {'ordering': 'text'}) + # BUG: I think this should raise ImproperlyConfigured + with self.assertRaises(AssertionError): + view(request) + class SensitiveOrderingFilterModel(models.Model): username = models.CharField(max_length=20)