diff options
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 64e0e23229..506f9d475d 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -1198,6 +1198,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 ad64762a51..0ff3839745 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -7065,10 +7065,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) @@ -7080,6 +7080,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 |
