From ec46d09772a5ecc99e8352f65f73f984e764a501 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Wed, 18 Jun 2014 13:05:33 +0100 Subject: [PATCH] Improved editors picks pagination tests --- .../wagtailsearch/tests/test_editorspicks.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/wagtail/wagtailsearch/tests/test_editorspicks.py b/wagtail/wagtailsearch/tests/test_editorspicks.py index 7ee974fd0..ed37d9c62 100644 --- a/wagtail/wagtailsearch/tests/test_editorspicks.py +++ b/wagtail/wagtailsearch/tests/test_editorspicks.py @@ -1,4 +1,5 @@ from django.test import TestCase +from django.core.urlresolvers import reverse from wagtail.tests.utils import unittest, WagtailTestUtils from wagtail.wagtailsearch import models @@ -68,6 +69,51 @@ class TestEditorsPicksIndexView(TestCase, WagtailTestUtils): response = self.get({'p': page}) self.assertEqual(response.status_code, 200) + def make_editors_picks(self): + for i in range(50): + models.EditorsPick.objects.create( + query=models.Query.get("query " + str(i)), + page_id=1, + sort_order=0, + description="First editors pick", + ) + + def test_pagination(self): + self.make_editors_picks() + + response = self.client.get(reverse('wagtailsearch_editorspicks_index'), {'p': 2}) + + # Check response + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsearch/editorspicks/index.html') + + # Check that we got the correct page + self.assertEqual(response.context['queries'].number, 2) + + def test_pagination_invalid(self): + self.make_editors_picks() + + response = self.client.get(reverse('wagtailsearch_editorspicks_index'), {'p': 'Hello World!'}) + + # Check response + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsearch/editorspicks/index.html') + + # Check that we got page one + self.assertEqual(response.context['queries'].number, 1) + + def test_pagination_out_of_range(self): + self.make_editors_picks() + + response = self.client.get(reverse('wagtailsearch_editorspicks_index'), {'p': 99999}) + + # Check response + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsearch/editorspicks/index.html') + + # Check that we got the last page + self.assertEqual(response.context['queries'].number, response.context['queries'].paginator.num_pages) + class TestEditorsPicksAddView(TestCase, WagtailTestUtils): def setUp(self):