(self)
| 74 | ) |
| 75 | |
| 76 | def test_pagination(self): |
| 77 | from selenium.webdriver.common.by import By |
| 78 | |
| 79 | user_history_url = reverse("admin:auth_user_history", args=(self.superuser.pk,)) |
| 80 | self.selenium.get(self.live_server_url + user_history_url) |
| 81 | |
| 82 | paginator = self.selenium.find_element(By.CSS_SELECTOR, ".paginator") |
| 83 | self.assertEqual(paginator.tag_name, "nav") |
| 84 | labelledby = paginator.get_attribute("aria-labelledby") |
| 85 | description = self.selenium.find_element(By.CSS_SELECTOR, "#%s" % labelledby) |
| 86 | self.assertHTMLEqual( |
| 87 | description.get_attribute("outerHTML"), |
| 88 | '<h2 id="pagination" class="visually-hidden">Pagination user entries</h2>', |
| 89 | ) |
| 90 | self.assertTrue(paginator.is_displayed()) |
| 91 | aria_current_link = paginator.find_elements(By.CSS_SELECTOR, "[aria-current]") |
| 92 | self.assertEqual(len(aria_current_link), 1) |
| 93 | # The current page. |
| 94 | current_page_link = aria_current_link[0] |
| 95 | self.assertEqual(current_page_link.get_attribute("aria-current"), "page") |
| 96 | self.assertEqual(current_page_link.get_attribute("href"), "") |
| 97 | self.assertIn("%s entries" % LogEntry.objects.count(), paginator.text) |
| 98 | self.assertIn(str(Paginator.ELLIPSIS), paginator.text) |
| 99 | self.assertEqual(current_page_link.text, "1") |
| 100 | # The last page. |
| 101 | last_page_link = self.selenium.find_element(By.XPATH, "//ul/li[last()]/a") |
| 102 | self.assertTrue(last_page_link.text, "20") |
| 103 | # Select the second page. |
| 104 | pages = paginator.find_elements(By.TAG_NAME, "a") |
| 105 | second_page_link = pages[1] |
| 106 | self.assertEqual(second_page_link.text, "2") |
| 107 | second_page_link.click() |
| 108 | self.assertIn("?p=2", self.selenium.current_url) |
| 109 | rows = self.selenium.find_elements(By.CSS_SELECTOR, "#change-history tbody tr") |
| 110 | self.assertIn("Changed something 101", rows[0].text) |
| 111 | self.assertIn("Changed something 200", rows[-1].text) |
nothing calls this directly
no test coverage detected