示例#1
0
 def test_get_queryset(self):
     j = JQueryDataTableMixin()
     j.model = mock.Mock()
     q = j.get_queryset()
     self.assertEqual(
         q._extract_mock_name(),
         "mock.objects.all()"
     )
示例#2
0
 def test_apply_filter_without_search_value(self, mocked_parse):
     q = mock.Mock()
     j = JQueryDataTableMixin()
     j.request = mock.Mock()
     self.assertEqual(
         j.apply_filter(q),
         q
     )
示例#3
0
 def test_get_table_data_with_object_list(
     self,
     mocked_get_queryset,
     mocked_queryset_count,
     mocked_apply_filter,
     mocked_order,
     mocked_paginate_objects,
     mocked_get_row,
     mocked_get_row_identifier,
     mocked_get_row_href
 ):
     j = JQueryDataTableMixin()
     mocked_queryset = mock.Mock()
     mocked_apply_filter.return_value = mocked_queryset
     mocked_get_queryset.return_value = mocked_apply_filter
     mocked_get_queryset.return_value = mocked_queryset
     mocked_queryset_count.return_value = 1
     mocked_apply_filter.return_value = mocked_queryset
     mocked_order.return_value = mocked_queryset
     paginator_object = mock.Mock()
     paginator_object.count = 2
     page_object = mock.Mock()
     page_object.object_list = [1, 2, 3]
     mocked_paginate_objects.return_value = paginator_object, page_object
     mocked_get_row.return_value = {}
     mocked_get_row_identifier.return_value = 3
     mocked_get_row_href.return_value = ""
     j.request = mock.Mock()
     j.request.GET.get = mock.Mock()
     j.request.GET.get.return_value = 4
     result = j.get_table_data()
     expected = {
         "draw": 4,
         "recordsTotal": 1,
         "recordsFiltered": 2,
         "data": [
             {"DT_RowData": {
                 "pk": 3,
                 "href": ""
             }},
             {"DT_RowData": {
                 "pk": 3,
                 "href": ""
             }},
             {"DT_RowData": {
                 "pk": 3,
                 "href": ""
             }}
         ]
     }
     self.assertEqual(
         DeepDiff(expected, result),
         {}
     )
示例#4
0
 def test_get_rows(self):
     j = JQueryDataTableMixin()
     j.columns = ["some_column"]
     o = mock.Mock()
     o.some_column = "some_column_value"
     row = j.get_row(o)
     self.assertEqual(
         row,
         {
             'some_column': 'some_column_value'
         }
     )
示例#5
0
 def test_apply_filter_without_searchable_fields(self, mocked_parse):
     mocked_parse.return_value = {
         "search": {
             "value": "some value"
         }
     }
     q = mock.Mock()
     j = JQueryDataTableMixin()
     j.request = mock.Mock()
     new_queryset = j.apply_filter(q)
     self.assertEqual(
         j.apply_filter(q),
         q
     )
示例#6
0
 def test_apply_filter_with_searchable_fields(self, mocked_parse, mocked_get_inputs):
     mocked_get_inputs.return_value = mock.Mock()
     mocked_parse.return_value = {
         "search": {
             "value": "some value"
         }
     }
     q = mock.Mock()
     j = JQueryDataTableMixin()
     j.searchable_fields = ["some field"]
     j.request = mock.Mock()
     new_queryset = j.apply_filter(q)
     self.assertEqual(
         new_queryset._extract_mock_name(),
         "mock.annotate().filter()"
     )
示例#7
0
    def test(self):
        with mock.patch("accountancy.views.JQueryDataTableMixin.order_by") as mocked_order_by, \
                mock.patch("accountancy.views.get_value") as mocked_get_value, \
                mock.patch("accountancy.views.sort_multiple") as mocked_sort_multiple:

            mocked_order_by.return_value = ["total", "-ref"]
            mocked_get_value.return_value = "a"
            j = JQueryDataTableMixin()
            j.order_objects([mock.Mock()])
            args, kwargs = mocked_sort_multiple.call_args_list[0]
            self.assertEqual(
                args[1][1],
                False
            )
            self.assertEqual(
                args[2][1],
                True
            )