summaryrefslogtreecommitdiff
path: root/tests/admin_changelist
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2020-07-30 23:22:34 +0100
committerCarlton Gibson <carlton@noumenal.es>2020-08-06 12:38:56 +0200
commitf35840c19664fed7b6bc4cf561bf0b6fd1a3b463 (patch)
tree35cfb5f2ea7060d91e273ca51d6adbd6065fe1b5 /tests/admin_changelist
parentb203ec70fd7ffc4027380940157d1cf9c9e588ad (diff)
downloaddjango-f35840c19664fed7b6bc4cf561bf0b6fd1a3b463.tar.gz
Refs #25513 -- Fixed admin pagination elision bounds.
It doesn't make sense to elide a single page number which could be a clickable link to that page. We only want to elide two or more pages.
Diffstat (limited to 'tests/admin_changelist')
-rw-r--r--tests/admin_changelist/tests.py36
1 files changed, 21 insertions, 15 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py
index 68319d69d4..bd4d406c10 100644
--- a/tests/admin_changelist/tests.py
+++ b/tests/admin_changelist/tests.py
@@ -1246,22 +1246,28 @@ class ChangeListTests(TestCase):
for page_num, objects_count, expected_page_range in [
(1, per_page, []),
- (1, per_page * 2, list(range(1, 3))),
- (6, per_page * 11, list(range(1, 12))),
- (6, per_page * 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, '.', 11, 12]),
- (7, per_page * 12, [1, 2, '.', 4, 5, 6, 7, 8, 9, 10, 11, 12]),
- (7, per_page * 13, [1, 2, '.', 4, 5, 6, 7, 8, 9, 10, '.', 12, 13]),
+ (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]),
]:
- # assuming we have exactly `objects_count` objects
- Group.objects.all().delete()
- for i in range(objects_count):
- Group.objects.create(name='test band')
-
- # setting page number and calculating page range
- cl.page_num = page_num
- cl.get_results(request)
- real_page_range = pagination(cl)['page_range']
- self.assertEqual(expected_page_range, list(real_page_range))
+ with self.subTest(number=number, pages=pages):
+ # assuming exactly `objects_count` objects
+ Group.objects.all().delete()
+ for i in range(objects_count):
+ Group.objects.create(name='test band')
+
+ # setting page number and calculating page range
+ cl.page_num = page_num
+ cl.get_results(request)
+ real_page_range = pagination(cl)['page_range']
+ self.assertEqual(expected_page_range, list(real_page_range))
def test_object_tools_displayed_no_add_permission(self):
"""