def test_empty_value_in_choices(self): f = AllValuesFilter(field_name='username') f.model = User self.assertEqual(list(f.field.choices), [ ('', '---------'), ])
def test_default_field_with_assigning_model(self): mocked = mock.Mock() chained_call = '.'.join(['_default_manager', 'distinct.return_value', 'order_by.return_value', 'values_list.return_value']) mocked.configure_mock(**{chained_call: iter([])}) f = AllValuesFilter() f.model = mocked field = f.field self.assertIsInstance(field, forms.ChoiceField)
class F(FilterSet): comments = AllValuesFilter() class Meta: model = User fields = ['comments']
class F(FilterSet): username = AllValuesFilter() class Meta: model = User fields = ['username']
def test_default_field_without_assigning_model(self): f = AllValuesFilter() with self.assertRaises(AttributeError): f.field
class F(FilterSet): author__username = AllValuesFilter() class Meta: model = Article fields = ['author__username']
class F(FilterSet): lovers = AllValuesFilter() class Meta: model = Book fields = ['lovers']
class F(FilterSet): lovers__username = AllValuesFilter() class Meta: model = Book fields = ['lovers__username']
class F(FilterSet): favorite_books__title = AllValuesFilter() class Meta: model = User fields = ['favorite_books__title']