1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Fixed #36437 -- Improved accessibility of messages in admin.

This commit is contained in:
michalpokusa
2025-06-05 13:04:00 +02:00
committed by Sarah Boyce
parent 74b31cd26b
commit 1520870c4a
12 changed files with 104 additions and 29 deletions

View File

@@ -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):