diff options
author | Nick Pope <nick.pope@flightdataservices.com> | 2020-08-06 11:43:42 +0200 |
---|---|---|
committer | Carlton Gibson <carlton@noumenal.es> | 2020-08-06 12:38:56 +0200 |
commit | 0a306f7da668e53af2516bfad759b52d6c650b69 (patch) | |
tree | b60b7e9b534d95830c6afd1f6bc39d0791d79b25 /tests/admin_changelist | |
parent | f35840c19664fed7b6bc4cf561bf0b6fd1a3b463 (diff) | |
download | django-0a306f7da668e53af2516bfad759b52d6c650b69.tar.gz |
Fixed #25513 -- Extracted admin pagination to Paginator.get_elided_page_range().
Diffstat (limited to 'tests/admin_changelist')
-rw-r--r-- | tests/admin_changelist/tests.py | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index bd4d406c10..28acc401c1 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -1242,32 +1242,32 @@ class ChangeListTests(TestCase): request = self.factory.get('/group/') request.user = self.superuser cl = m.get_changelist_instance(request) - per_page = cl.list_per_page = 10 - - for page_num, objects_count, expected_page_range in [ - (1, per_page, []), - (1, per_page * 2, [1, 2]), - (6, per_page * 11, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]), - (6, per_page * 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), - (6, per_page * 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 12, 13]), - (7, per_page * 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), - (7, per_page * 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]), - (7, per_page * 14, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, '.', 13, 14]), - (8, per_page * 13, [1, 2, '.', 5, 6, 7, 8, 9, 10, 11, 12, 13]), - (8, per_page * 14, [1, 2, '.', 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]), - (8, per_page * 15, [1, 2, '.', 5, 6, 7, 8, 9, 10, 11, '.', 14, 15]), + cl.list_per_page = 10 + + ELLIPSIS = cl.paginator.ELLIPSIS + for number, pages, expected in [ + (1, 1, []), + (1, 2, [1, 2]), + (6, 11, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]), + (6, 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), + (6, 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, ELLIPSIS, 12, 13]), + (7, 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), + (7, 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]), + (7, 14, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ELLIPSIS, 13, 14]), + (8, 13, [1, 2, ELLIPSIS, 5, 6, 7, 8, 9, 10, 11, 12, 13]), + (8, 14, [1, 2, ELLIPSIS, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]), + (8, 15, [1, 2, ELLIPSIS, 5, 6, 7, 8, 9, 10, 11, ELLIPSIS, 14, 15]), ]: with self.subTest(number=number, pages=pages): - # assuming exactly `objects_count` objects + # assuming exactly `pages * cl.list_per_page` objects Group.objects.all().delete() - for i in range(objects_count): + for i in range(pages * cl.list_per_page): Group.objects.create(name='test band') # setting page number and calculating page range - cl.page_num = page_num + cl.page_num = number cl.get_results(request) - real_page_range = pagination(cl)['page_range'] - self.assertEqual(expected_page_range, list(real_page_range)) + self.assertEqual(list(pagination(cl)['page_range']), expected) def test_object_tools_displayed_no_add_permission(self): """ |