Skip to content

Commit 8936f9a

Browse files
author
Ryan P Kilby
committed
Add failing test from #81
1 parent 885b3a5 commit 8936f9a

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

tests/test_backends.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,14 @@ def test_django_filter_compatibility(self):
1616

1717
self.assertEqual(len(response.data), 1)
1818
self.assertEqual(response.data[0]['username'], 'user1')
19+
20+
def test_filter_fields_reusability(self):
21+
# Ensure auto-generated FilterSet is reusable w/ filter_fields. See:
22+
# https://github.com/philipn/django-rest-framework-filters/issues/81
23+
response = self.client.get('/ff-users/', {'username': 'user1'}, content_type='json')
24+
self.assertEqual(len(response.data), 1)
25+
self.assertEqual(response.data[0]['username'], 'user1')
26+
27+
response = self.client.get('/ff-users/', {'username': 'user1'}, content_type='json')
28+
self.assertEqual(len(response.data), 1)
29+
self.assertEqual(response.data[0]['username'], 'user1')

tests/testapp/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
router = routers.DefaultRouter()
99
router.register(r'df-users', views.DFUserViewSet, base_name='df-users')
10+
router.register(r'ff-users', views.FilterFieldsUserViewSet, base_name='ff-users')
1011
router.register(r'users', views.UserViewSet,)
1112
router.register(r'notes', views.NoteViewSet,)
1213

tests/testapp/views.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ class DFUserViewSet(viewsets.ModelViewSet):
1616
filter_class = DFUserFilter
1717

1818

19+
class FilterFieldsUserViewSet(viewsets.ModelViewSet):
20+
queryset = User.objects.all()
21+
serializer_class = UserSerializer
22+
filter_backends = (backends.DjangoFilterBackend, )
23+
filter_fields = {
24+
'username': '__all__',
25+
}
26+
27+
1928
class UserViewSet(viewsets.ModelViewSet):
2029
queryset = User.objects.all()
2130
serializer_class = UserSerializer

0 commit comments

Comments
 (0)