diff options
| author | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-01-23 15:10:31 -0500 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-02-02 08:16:08 -0500 |
| commit | f9bfb5279892dba27345270a6b7198c12571ffb7 (patch) | |
| tree | 07cd8a46ebd55a47a5cb56e628ab7a409b07cc99 /tests | |
| parent | da2125b5629ebca438241c5ce3eb833c63214aeb (diff) | |
[6.0.x] Fixed #36788 -- Fixed horizontal form field alignment under <fieldset> in the admin.
Thanks Antoliny for the review.
Regression in 4187da258fe212d494cb578a0bc2b52c4979ab95.
Backport of b665a67d61a8a4fd2ad85aeb77282bc49541723f from main.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_views/admin.py | 12 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 27 |
2 files changed, 37 insertions, 2 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index 69570a8062..499bba401a 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -1193,6 +1193,18 @@ class CamelCaseAdmin(admin.ModelAdmin): class CourseAdmin(admin.ModelAdmin): radio_fields = {"difficulty": admin.VERTICAL} + fieldsets = ( + ( + None, + { + "fields": ( + ("title", "difficulty"), + ("materials", "start_datetime"), + ("categories"), + ), + }, + ), + ) site = admin.AdminSite(name="admin") diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index e5eba4f466..203e1d25a9 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -6919,10 +6919,10 @@ class SeleniumTests(AdminSeleniumTestCase): title="Django Class", materials="django_documents" ) expected_legend_tags_text = [ - "Materials:", "Difficulty:", - "Categories:", + "Materials:", "Start datetime:", + "Categories:", ] url = reverse("admin:admin_views_course_change", args=(course.pk,)) self.selenium.get(self.live_server_url + url) @@ -6934,6 +6934,29 @@ class SeleniumTests(AdminSeleniumTestCase): self.assertEqual(legend.text, expected_legend_tags_text[index]) @screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"]) + def test_use_fieldset_with_grouped_fields(self): + from selenium.webdriver.common.by import By + + self.admin_login( + username="super", password="secret", login_url=reverse("admin:index") + ) + self.selenium.get( + self.live_server_url + reverse("admin:admin_views_course_add") + ) + multiline = self.selenium.find_element( + By.CSS_SELECTOR, "#content-main .field-difficulty, .form-multiline" + ) + # Two field boxes. + field_boxes = multiline.find_elements(By.CSS_SELECTOR, "div > div.fieldBox") + self.assertEqual(len(field_boxes), 2) + # One of them is under a <fieldset>. + under_fieldset = multiline.find_elements( + By.CSS_SELECTOR, "fieldset > div > div.fieldBox" + ) + self.assertEqual(len(under_fieldset), 1) + self.take_screenshot("horizontal_fieldset") + + @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 |
