Skip to content

Commit a7884b1

Browse files
author
Ryan P Kilby
committed
Add backend request-passing test
1 parent f446077 commit a7884b1

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

tests/test_backends.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
from rest_framework.test import APITestCase, APIRequestFactory
3+
from rest_framework_filters import FilterSet
34

45
from .testapp import models, views
56

@@ -58,3 +59,25 @@ class SimpleViewSet(views.FilterFieldsUserViewSet):
5859
<button type="submit" class="btn btn-primary">Submit</button>
5960
</form>
6061
""")
62+
63+
def test_request_obj_is_passed(self):
64+
"""
65+
Ensure that the request object is passed from the backend to the filterset.
66+
See: https://github.com/philipn/django-rest-framework-filters/issues/149
67+
"""
68+
class RequestCheck(FilterSet):
69+
def __init__(self, *args, **kwargs):
70+
super(RequestCheck, self).__init__(*args, **kwargs)
71+
assert self.request is not None
72+
73+
class Meta:
74+
model = models.User
75+
fields = ['username']
76+
77+
class ViewSet(views.FilterFieldsUserViewSet):
78+
filter_class = RequestCheck
79+
80+
view = ViewSet(action_map={})
81+
backend = view.filter_backends[0]
82+
request = view.initialize_request(factory.get('/'))
83+
backend().filter_queryset(request, view.get_queryset(), view)

0 commit comments

Comments
 (0)