summaryrefslogtreecommitdiff
path: root/tests/admin_views/tests.py
diff options
context:
space:
mode:
authormichalpokusa <72110769+michalpokusa@users.noreply.github.com>2025-06-05 13:04:00 +0200
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-06-18 08:37:44 +0200
commit1520870c4a6c47df3ed2f597785a8d35a1710bc4 (patch)
tree3ecb5b0afbcd312239e8f9438edea1cdadca22d9 /tests/admin_views/tests.py
parent74b31cd26b9ad4ad85f131850a734f02aae988bb (diff)
Fixed #36437 -- Improved accessibility of messages in admin.
Diffstat (limited to 'tests/admin_views/tests.py')
-rw-r--r--tests/admin_views/tests.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 9ea603423c..2029909df9 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -135,6 +135,7 @@ from .models import (
UnchangeableObject,
UndeletableObject,
UnorderedObject,
+ UserMessenger,
UserProxy,
Villain,
Vodcast,
@@ -6876,6 +6877,36 @@ class SeleniumTests(AdminSeleniumTestCase):
name_input_value = name_input.get_attribute("value")
self.assertEqual(name_input_value, "Test section 1")
+ @screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"])
+ @override_settings(MESSAGE_LEVEL=10)
+ def test_messages(self):
+ from selenium.webdriver.common.by import By
+ from selenium.webdriver.support.ui import Select
+
+ with override_settings(MESSAGE_LEVEL=10):
+ self.admin_login(
+ username="super", password="secret", login_url=reverse("admin:index")
+ )
+ UserMessenger.objects.create()
+ for level in ["warning", "info", "error", "success", "debug"]:
+ self.selenium.get(
+ self.live_server_url
+ + reverse("admin:admin_views_usermessenger_changelist"),
+ )
+ checkbox = self.selenium.find_element(
+ By.CSS_SELECTOR, "tr input.action-select"
+ )
+ checkbox.click()
+ Select(self.selenium.find_element(By.NAME, "action")).select_by_value(
+ f"message_{level}"
+ )
+ self.selenium.find_element(By.XPATH, '//button[text()="Run"]').click()
+ message = self.selenium.find_element(
+ By.CSS_SELECTOR, "ul.messagelist li"
+ )
+ self.assertEqual(message.get_attribute("innerText"), f"Test {level}")
+ self.take_screenshot(level)
+
@override_settings(ROOT_URLCONF="admin_views.urls")
class ReadonlyTest(AdminFieldExtractionMixin, TestCase):