summaryrefslogtreecommitdiff
path: root/tests/admin_widgets
diff options
context:
space:
mode:
authorBrock <bsmick97@gmail.com>2024-12-02 15:51:03 +0100
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-01-09 08:18:29 +0100
commit8c118c0e00846091c261b97dbed9a5b89ceb79bf (patch)
tree607e1d1a8e44f3d8f05008552e981b9573196901 /tests/admin_widgets
parenta9c79b462923ce366101db1b5a3fff3d1dad870c (diff)
Fixed #35940 -- Disabled SelectFilter add/remove buttons when appropriate.
Diffstat (limited to 'tests/admin_widgets')
-rw-r--r--tests/admin_widgets/tests.py81
1 files changed, 68 insertions, 13 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index 15e11a6d8f..0cf1324623 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -1254,21 +1254,27 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
self.arthur = Student.objects.create(name="Arthur")
self.school = School.objects.create(name="School of Awesome")
- def assertActiveButtons(
- self, mode, field_name, choose, remove, choose_all=None, remove_all=None
+ def assertButtonsDisabled(
+ self,
+ mode,
+ field_name,
+ choose_btn_disabled=False,
+ remove_btn_disabled=False,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=False,
):
choose_button = "#id_%s_add" % field_name
choose_all_button = "#id_%s_add_all" % field_name
remove_button = "#id_%s_remove" % field_name
remove_all_button = "#id_%s_remove_all" % field_name
- self.assertEqual(self.has_css_class(choose_button, "active"), choose)
- self.assertEqual(self.has_css_class(remove_button, "active"), remove)
+ self.assertEqual(self.is_disabled(choose_button), choose_btn_disabled)
+ self.assertEqual(self.is_disabled(remove_button), remove_btn_disabled)
if mode == "horizontal":
self.assertEqual(
- self.has_css_class(choose_all_button, "active"), choose_all
+ self.is_disabled(choose_all_button), choose_all_btn_disabled
)
self.assertEqual(
- self.has_css_class(remove_all_button, "active"), remove_all
+ self.is_disabled(remove_all_button), remove_all_btn_disabled
)
def execute_basic_operations(self, mode, field_name):
@@ -1296,7 +1302,14 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
],
)
self.assertSelectOptions(to_box, [str(self.lisa.id), str(self.peter.id)])
- self.assertActiveButtons(mode, field_name, False, False, True, True)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=False,
+ )
# Click 'Choose all' --------------------------------------------------
if mode == "horizontal":
@@ -1323,7 +1336,14 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
str(self.john.id),
],
)
- self.assertActiveButtons(mode, field_name, False, False, False, True)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=True,
+ remove_all_btn_disabled=False,
+ )
# Click 'Remove all' --------------------------------------------------
if mode == "horizontal":
@@ -1350,7 +1370,14 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
],
)
self.assertSelectOptions(to_box, [])
- self.assertActiveButtons(mode, field_name, False, False, True, False)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=True,
+ )
# Choose some options ------------------------------------------------
from_lisa_select_option = self.selenium.find_element(
@@ -1367,9 +1394,23 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
self.select_option(from_box, str(self.jason.id))
self.select_option(from_box, str(self.bob.id))
self.select_option(from_box, str(self.john.id))
- self.assertActiveButtons(mode, field_name, True, False, True, False)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=False,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=True,
+ )
self.selenium.find_element(By.ID, choose_button).click()
- self.assertActiveButtons(mode, field_name, False, False, True, True)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=False,
+ )
self.assertSelectOptions(
from_box,
@@ -1402,9 +1443,23 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Remove some options -------------------------------------------------
self.select_option(to_box, str(self.lisa.id))
self.select_option(to_box, str(self.bob.id))
- self.assertActiveButtons(mode, field_name, False, True, True, True)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=False,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=False,
+ )
self.selenium.find_element(By.ID, remove_button).click()
- self.assertActiveButtons(mode, field_name, False, False, True, True)
+ self.assertButtonsDisabled(
+ mode,
+ field_name,
+ choose_btn_disabled=True,
+ remove_btn_disabled=True,
+ choose_all_btn_disabled=False,
+ remove_all_btn_disabled=False,
+ )
self.assertSelectOptions(
from_box,