Пример #1
0
    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'])
Пример #2
0
    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]
        ]