Skip to content

Commit a8d3574

Browse files
author
Ryan P Kilby
committed
Add 'isnull' override checks, verifies/resolves #6
1 parent d3fd92b commit a8d3574

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests/test_filterset.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,25 @@ def test_boolean_filter(self):
599599
self.assertEqual(len(results), 1)
600600
self.assertEqual(results[0].username, 'user2')
601601

602+
def test_isnull_override(self):
603+
self.assertIsInstance(
604+
PersonFilter().filters['best_friend__isnull'],
605+
django_filters.filters.BooleanFilter
606+
)
607+
608+
GET = {'best_friend__isnull': 'true'}
609+
filterset = PersonFilter(GET, queryset=Person.objects.all())
610+
results = list(filterset)
611+
self.assertEqual(len(results), 1)
612+
self.assertEqual(results[0].name, 'John')
613+
614+
# Uppercase False
615+
GET = {'best_friend__isnull': 'false'}
616+
filterset = PersonFilter(GET, queryset=Person.objects.all())
617+
results = list(filterset)
618+
self.assertEqual(len(results), 1)
619+
self.assertEqual(results[0].name, 'Mark')
620+
602621

603622
class FilterExclusionTests(TestCase):
604623

0 commit comments

Comments
 (0)