Update tests w/ empty choice

This commit is contained in:
Ryan P Kilby 2016-10-11 06:16:16 -04:00
parent 48e6ec4b32
commit cbc224c3d3
3 changed files with 16 additions and 8 deletions

View File

@ -384,7 +384,7 @@ class BaseFilterSet(object):
if isinstance(opts.order_by[0], (list, tuple)):
choices = [(f[0], f[1]) for f in opts.order_by]
fields = {filters.get(f[0].lstrip('-')).name: f[0] for f in opts.order_by}
return OrderingFilter(choices=choices, fields=fields)
return OrderingFilter(choices=choices, fields=fields, empty_label=None)
# e.g. ('field1', 'field2', ...)
else:
@ -394,14 +394,14 @@ class BaseFilterSet(object):
# preference filter label over attribute name
choices = [(f, display_text(f, fltr)) for f, fltr in order_by]
fields = {fltr.name: f for f, fltr in order_by}
return OrderingFilter(choices=choices, fields=fields)
return OrderingFilter(choices=choices, fields=fields, empty_label=None)
# opts.order_by = True
order_by = filters.items()
fields = [(fltr.name, f) for f, fltr in order_by]
labels = {f: display_text(f, fltr) for f, fltr in order_by}
return OrderingFilter(fields=fields, field_labels=labels)
return OrderingFilter(fields=fields, field_labels=labels, empty_label=None)
@classmethod
def filters_for_model(cls, model, opts):

View File

@ -1077,6 +1077,7 @@ class OrderingFilterTests(TestCase):
)
self.assertSequenceEqual(f.field.choices, (
('', '---------'),
('a', 'A'),
('b', 'B'),
))
@ -1087,6 +1088,7 @@ class OrderingFilterTests(TestCase):
)
self.assertSequenceEqual(f.field.choices, (
('', '---------'),
('c', 'C'),
('-c', 'C (descending)'),
('d', 'D'),
@ -1100,6 +1102,7 @@ class OrderingFilterTests(TestCase):
)
self.assertSequenceEqual(f.field.choices, (
('', '---------'),
('c', 'foo'),
('-c', 'foo (descending)'),
('d', 'D'),

View File

@ -66,8 +66,10 @@ class FilterSetFormTests(TestCase):
f = F().form
self.assertEqual(len(f.fields), 1)
self.assertIn('status', f.fields)
self.assertEqual(sorted(f.fields['status'].choices),
sorted(STATUS_CHOICES))
self.assertSequenceEqual(
f.fields['status'].choices,
(('', '---------'), ) + STATUS_CHOICES
)
def test_form_fields_exclusion(self):
class F(FilterSet):
@ -106,7 +108,8 @@ class FilterSetFormTests(TestCase):
def test_form_fields_using_widget(self):
class F(FilterSet):
status = ChoiceFilter(widget=forms.RadioSelect,
choices=STATUS_CHOICES)
choices=STATUS_CHOICES,
empty_label=None)
class Meta:
model = User
@ -116,8 +119,10 @@ class FilterSetFormTests(TestCase):
self.assertEqual(len(f.fields), 2)
self.assertIn('status', f.fields)
self.assertIn('username', f.fields)
self.assertEqual(sorted(f.fields['status'].choices),
sorted(STATUS_CHOICES))
self.assertSequenceEqual(
f.fields['status'].choices,
STATUS_CHOICES
)
self.assertIsInstance(f.fields['status'].widget, forms.RadioSelect)
def test_form_field_with_custom_label(self):