def test_return_empty_cases(self): url = reverse('cases-ajax-search') request = self.factory.get(url, {}) request.user = self.tester empty_cases = TestCase.objects.none() response = ajax_response(request, empty_cases, self.column_names, self.template) data = json_loads(response.content) self.assertEqual(0, data['sEcho']) self.assertEqual(0, data['iTotalRecords']) self.assertEqual(0, data['iTotalDisplayRecords']) self.assertEqual([], data['aaData'])
def test_return_sorted_cases_by_name_desc(self): url = reverse('testcases-ajax_search') request = self.factory.get( url, { 'sEcho': 1, 'iDisplayStart': 0, 'iDisplayLength': 2, 'iSortCol_0': 0, 'sSortDir_0': 'desc', 'iSortingCols': 1, 'bSortable_0': 'true', 'bSortable_1': 'true', 'bSortable_2': 'true', 'bSortable_3': 'true', }) request.user = self.tester cases = self.plan.case.all() response = ajax_response(request, cases, self.column_names, self.template) data = json.loads( str(response.content, encoding=settings.DEFAULT_CHARSET)) total = self.plan.case.count() self.assertEqual(1, data['sEcho']) self.assertEqual(total, data['iTotalRecords']) self.assertEqual(total, data['iTotalDisplayRecords']) self.assertEqual(2, len(data['aaData'])) id_links = [row[2] for row in data['aaData']] id_links.sort() expected_id_links = [ "<a href='{0}'>{1}</a>".format( reverse('testcases-get', args=[case.pk]), case.pk, ) for case in self.plan.case.order_by('-pk')[0:2] ]