def test_apply_filter_when_form_is_invalid(self, mock_filter_form_invalid): j = CustomFilterJQueryDataTableMixin() mock_form = mock.Mock() mock_form.is_valid.return_value = False kwargs = {"form": mock_form} queryset = mock.Mock() mock_filter_form_invalid.return_value = queryset result = j.apply_filter(queryset, **kwargs) args, kwargs = mock_filter_form_invalid.call_args_list[0] self.assertEqual( len(args), 2 ) self.assertEqual( args[0], queryset ) self.assertEqual( args[1], mock_form ) self.assertEqual( queryset, result )
def test_get_filter_form_kwargs_with_unbound_form(self): j = CustomFilterJQueryDataTableMixin() form_kwargs = j.get_filter_form_kwargs() self.assertEqual( form_kwargs, {} )
def test_get_table_data_without_adv_search_form( self, mock_get_filter_form, mock_super, mock_csrf, mock_render_crispy_form): j = CustomFilterJQueryDataTableMixin() j.request = mock.Mock() j.request.GET.get = mock.Mock() j.request.GET.get.return_value = False mock_get_filter_form.return_value = "form_object" mock_super().get_table_data.return_value = {} mock_csrf.return_value = {"csrf": "something"} mock_render_crispy_form.return_value = "<form></form>" table_data = j.get_table_data() args, kwargs = mock_get_filter_form.call_args_list[0] self.assertEqual( len(args), 0 ) self.assertEqual( len(kwargs), 0 ) self.assertEqual( table_data, { "form": "<form></form>" } )
def test_get_filter_form_kwargs_with_bound_form(self): j = CustomFilterJQueryDataTableMixin() j.request = mock.Mock() j.request.GET = {"some_field": "some_value"} form_kwargs = j.get_filter_form_kwargs(bind_form=True) self.assertEqual( form_kwargs, { "data": {"some_field": "some_value"} } )
def test_get_filter_form(self, mock_get_filter_form_kwargs): mock_get_filter_form_kwargs.return_value = { "data": { "some_field": "some_value" } } j = CustomFilterJQueryDataTableMixin() j.filter_form_class = mock.Mock form_instance = j.get_filter_form() self.assertEqual( form_instance.data, { "some_field": "some_value" } )