summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
authorShubh1815 <shubhparmar14@gmail.com>2021-11-15 19:57:11 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-25 07:57:19 +0100
commit51c24d8799fb09f04d0a5deb713eaeceb20d15c7 (patch)
tree0c45b9d61e520c4f5040087878489217392d175a /tests/admin_views
parentb8c0b22f2f0f8ce664642332d6d872f300c662b4 (diff)
downloaddjango-51c24d8799fb09f04d0a5deb713eaeceb20d15c7.tar.gz
Fixed #33024 -- Fixed height of admin selector boxes in collapsed fieldset.
Thanks Tom Carrick for the review.
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/admin.py19
-rw-r--r--tests/admin_views/tests.py43
2 files changed, 62 insertions, 0 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index 3d276b2235..9cd078074b 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -1164,6 +1164,25 @@ site7 = admin.AdminSite(name="admin7")
site7.register(Article, ArticleAdmin2)
site7.register(Section)
site7.register(PrePopulatedPost, PrePopulatedPostReadOnlyAdmin)
+site7.register(
+ Pizza,
+ filter_horizontal=['toppings'],
+ fieldsets=(
+ ('Collapsible', {
+ 'classes': ['collapse'],
+ 'fields': ['toppings'],
+ }),
+ ),
+)
+site7.register(
+ Question,
+ filter_horizontal=['related_questions'],
+ fieldsets=(
+ ('Not collapsible', {
+ 'fields': ['related_questions'],
+ }),
+ ),
+)
# Used to test ModelAdmin.sortable_by and get_sortable_by().
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 560d0e6134..2ea27f5312 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4810,6 +4810,49 @@ class SeleniumTests(AdminSeleniumTestCase):
self.assertTrue(self.selenium.find_element(By.ID, 'id_title').is_displayed())
self.assertEqual(self.selenium.find_element(By.ID, 'fieldsetcollapser0').text, "Hide")
+ def test_selectbox_height_collapsible_fieldset(self):
+ from selenium.webdriver.common.by import By
+
+ self.admin_login(
+ username='super',
+ password='secret',
+ login_url=reverse('admin7:index'),
+ )
+ url = self.live_server_url + reverse('admin7:admin_views_pizza_add')
+ self.selenium.get(url)
+ self.selenium.find_elements(By.LINK_TEXT, 'Show')[0].click()
+ filter_box = self.selenium.find_element(By.ID, 'id_toppings_filter')
+ from_box = self.selenium.find_element(By.ID, 'id_toppings_from')
+ to_box = self.selenium.find_element(By.ID, 'id_toppings_to')
+ self.assertEqual(
+ to_box.get_property('offsetHeight'),
+ (
+ filter_box.get_property('offsetHeight') +
+ from_box.get_property('offsetHeight')
+ ),
+ )
+
+ def test_selectbox_height_not_collapsible_fieldset(self):
+ from selenium.webdriver.common.by import By
+
+ self.admin_login(
+ username='super',
+ password='secret',
+ login_url=reverse('admin7:index'),
+ )
+ url = self.live_server_url + reverse('admin7:admin_views_question_add')
+ self.selenium.get(url)
+ filter_box = self.selenium.find_element(By.ID, 'id_related_questions_filter')
+ from_box = self.selenium.find_element(By.ID, 'id_related_questions_from')
+ to_box = self.selenium.find_element(By.ID, 'id_related_questions_to')
+ self.assertEqual(
+ to_box.get_property('offsetHeight'),
+ (
+ filter_box.get_property('offsetHeight') +
+ from_box.get_property('offsetHeight')
+ ),
+ )
+
def test_first_field_focus(self):
"""JavaScript-assisted auto-focus on first usable form field."""
from selenium.webdriver.common.by import By