def test_update_fields(self): sort = common.SortingEmulatedHelper(self.request, ["sort_key"]) original_fields = ["sort_dir"] fields_to_add = [] sort.update_fields(original_fields, fields_to_add) self.assertEqual(["sort_dir", "sort_key"], original_fields) self.assertEqual(["sort_key"], fields_to_add)
def test_sort(self): sort = common.SortingEmulatedHelper(self.request, ["sort_key"]) items = [{"sort_key": 9}, {"sort_key": 6}, {"sort_key": 7}] expect_res = [{"sort_key": 6}, {"sort_key": 7}, {"sort_key": 9}] result = sort.sort(items) self.assertEqual(expect_res, result) items = [{ "sort_key": 9, "sort_key_1": None }, { "sort_key": 6, "sort_key_2": { "sort_key_3": 8, "sort_key": 3 } }, { "sort_key": 7 }] expect_res = [{ "sort_key": 6, "sort_key_2": { "sort_key": 3, "sort_key_3": 8 } }, { "sort_key": 7 }, { "sort_key": 9, "sort_key_1": None }] result = sort.sort(items) self.assertEqual(expect_res, result)
def _get_sorting_helper(self, request): if self._allow_sorting and self._native_sorting: return api_common.SortingNativeHelper(request, self._attr_info) elif self._allow_sorting: return api_common.SortingEmulatedHelper(request, self._attr_info) return api_common.NoSortingHelper(request, self._attr_info)
def test_sort_emulate_class(self): sort = common.SortingEmulatedHelper(self.request, ["sort_key"]) self.assertEqual([('sort_key', True)], sort.sort_dict)