1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #36055 -- Prevented overlap of object-tools buttons and page header in the admin.

This commit is contained in:
antoliny0919
2025-07-24 19:15:32 +09:00
committed by Sarah Boyce
parent f96c8f07e4
commit 94c2f3b993
13 changed files with 60 additions and 33 deletions

View File

@@ -126,6 +126,7 @@ from .models import (
Song,
State,
Story,
Subscriber,
SuperSecretHideout,
SuperVillain,
Telegram,
@@ -6955,6 +6956,37 @@ class SeleniumTests(AdminSeleniumTestCase):
with self.wait_page_loaded():
save_button.click()
@screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"])
def test_long_header_with_object_tools_layout(self):
from selenium.webdriver.common.by import By
self.admin_login(
username="super", password="secret", login_url=reverse("admin:index")
)
s = Subscriber.objects.create(name="a " * 40, email="b " * 80)
self.selenium.get(
self.live_server_url
+ reverse("admin:admin_views_subscriber_change", args=(s.pk,))
)
header = self.selenium.find_element(By.CSS_SELECTOR, "div#content h2")
self.assertGreater(len(header.text), 100)
object_tools = self.selenium.find_elements(
By.CSS_SELECTOR, "div#content ul.object-tools li"
)
self.assertGreater(len(object_tools), 0)
self.take_screenshot("change_form")
self.selenium.get(
self.live_server_url + reverse("admin:admin_views_restaurant_changelist")
)
header = self.selenium.find_element(By.CSS_SELECTOR, "div#content h1")
self.assertGreater(len(header.text), 100)
object_tools = self.selenium.find_elements(
By.CSS_SELECTOR, "div#content ul.object-tools li"
)
self.assertGreater(len(object_tools), 0)
self.take_screenshot("change_list")
@override_settings(ROOT_URLCONF="admin_views.urls")
class ReadonlyTest(AdminFieldExtractionMixin, TestCase):