Skip to content

Commit 138c3c0

Browse files
author
Ryan P Kilby
committed
Add test for exclusion at the backend level
1 parent e6232a8 commit 138c3c0

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests/test_backends.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,22 @@ class ViewSet(views.FilterFieldsUserViewSet):
8181
backend = view.filter_backends[0]
8282
request = view.initialize_request(factory.get('/'))
8383
backend().filter_queryset(request, view.get_queryset(), view)
84+
85+
def test_exclusion(self):
86+
class RequestCheck(FilterSet):
87+
class Meta:
88+
model = models.User
89+
fields = ['username']
90+
91+
class ViewSet(views.FilterFieldsUserViewSet):
92+
filter_class = RequestCheck
93+
94+
view = ViewSet(action_map={})
95+
backend = view.filter_backends[0]
96+
request = view.initialize_request(factory.get('/?username=user1'))
97+
qs = backend().filter_queryset(request, view.get_queryset(), view)
98+
self.assertEqual([u.pk for u in qs], [1])
99+
100+
request = view.initialize_request(factory.get('/?username!=user1'))
101+
qs = backend().filter_queryset(request, view.get_queryset(), view)
102+
self.assertEqual([u.pk for u in qs], [2])

0 commit comments

Comments
 (0)