def test_single_page(self): paginator = InfinitePaginator(Article.objects.all(), 100) page = paginator.page(1) self.assertEqual(page.number, 1) self.assertFalse(page.has_next()) self.assertFalse(page.has_previous()) self.assertFalse(page.has_other_pages()) self.assertEqual(page.end_index(), 25)
def test_empty_page(self): paginator = InfinitePaginator(Article.objects.none(), 100) page = paginator.page(1) self.assertEqual(page.object_list, []) self.assertEqual(page.number, 1) self.assertFalse(page.has_next()) self.assertFalse(page.has_previous()) self.assertFalse(page.has_other_pages()) self.assertEqual(page.end_index(), 0)
def setUp(self): for x in range(25): Article.objects.create(title=str(x)) self.paginator = InfinitePaginator(Article.objects.all(), 10)
class InfinitePaginatorTestCase(TestCase): def setUp(self): for x in range(25): Article.objects.create(title=str(x)) self.paginator = InfinitePaginator(Article.objects.all(), 10) def tearDown(self): Article.objects.all().delete() def test_pagination(self): page1 = self.paginator.page(1) page2 = self.paginator.page(2) page3 = self.paginator.page(3) self.assertEqual(page1.object_list, list(Article.objects.all()[0:10])) self.assertEqual(page2.object_list, list(Article.objects.all()[10:20])) self.assertEqual(page3.object_list, list(Article.objects.all()[20:25])) def test_first_page(self): page = self.paginator.page(1) self.assertEqual(page.number, 1) self.assertTrue(page.has_next()) self.assertFalse(page.has_previous()) self.assertTrue(page.has_other_pages()) self.assertEqual(page.next_page_number(), 2) self.assertEqual(page.end_index(), 10) def test_second_page(self): page = self.paginator.page(2) self.assertEqual(page.number, 2) self.assertTrue(page.has_next()) self.assertTrue(page.has_previous()) self.assertTrue(page.has_other_pages()) self.assertEqual(page.previous_page_number(), 1) self.assertEqual(page.next_page_number(), 3) self.assertEqual(page.end_index(), 20) def test_last_page(self): page = self.paginator.page(3) self.assertEqual(page.number, 3) self.assertFalse(page.has_next()) self.assertTrue(page.has_previous()) self.assertTrue(page.has_other_pages()) self.assertEqual(page.previous_page_number(), 2) self.assertEqual(page.end_index(), 25) def test_invalid_page(self): self.assertRaises(EmptyPage, lambda: self.paginator.page(4)) def test_single_page(self): paginator = InfinitePaginator(Article.objects.all(), 100) page = paginator.page(1) self.assertEqual(page.number, 1) self.assertFalse(page.has_next()) self.assertFalse(page.has_previous()) self.assertFalse(page.has_other_pages()) self.assertEqual(page.end_index(), 25) def test_empty_page(self): paginator = InfinitePaginator(Article.objects.none(), 100) page = paginator.page(1) self.assertEqual(page.object_list, []) self.assertEqual(page.number, 1) self.assertFalse(page.has_next()) self.assertFalse(page.has_previous()) self.assertFalse(page.has_other_pages()) self.assertEqual(page.end_index(), 0)