summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGappleBee <irrationalmathematicspro7@gmail.com>2024-10-24 19:44:31 +0100
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-11-20 13:23:18 +0100
commit857b1048d53ebf5fc5581c110e85c212b81ca83a (patch)
tree160d5e34509f0491da39358d1061c69a92d03cea /tests
parentf60d5e46e131b94d6ecc92b6891689ccc94bd1c9 (diff)
Fixed #34619 -- Associated FilteredSelectMultiple elements to their label and help text.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_inlines/tests.py38
-rw-r--r--tests/admin_views/test_related_object_lookups.py4
-rw-r--r--tests/admin_views/tests.py4
-rw-r--r--tests/admin_widgets/tests.py50
4 files changed, 55 insertions, 41 deletions
diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py
index 9c32f6fb8e..b08ab3a52a 100644
--- a/tests/admin_inlines/tests.py
+++ b/tests/admin_inlines/tests.py
@@ -2420,31 +2420,43 @@ class SeleniumTests(AdminSeleniumTestCase):
"admin:admin_inlines_courseproxy1_add",
"admin:admin_inlines_courseproxy2_add",
]
- css_selector = ".dynamic-class_set#class_set-%s h2"
+ css_available_selector = (
+ ".dynamic-class_set#class_set-%s .selector-available-title"
+ )
+ css_chosen_selector = ".dynamic-class_set#class_set-%s .selector-chosen-title"
for url_name in tests:
with self.subTest(url=url_name):
self.selenium.get(self.live_server_url + reverse(url_name))
# First inline shows the verbose_name.
- available, chosen = self.selenium.find_elements(
- By.CSS_SELECTOR, css_selector % 0
+ available = self.selenium.find_element(
+ By.CSS_SELECTOR, css_available_selector % 0
+ )
+ chosen = self.selenium.find_element(
+ By.CSS_SELECTOR, css_chosen_selector % 0
)
- self.assertEqual(available.text, "AVAILABLE ATTENDANT")
- self.assertEqual(chosen.text, "CHOSEN ATTENDANT")
+ self.assertIn("Available attendant", available.text)
+ self.assertIn("Chosen attendant", chosen.text)
# Added inline should also have the correct verbose_name.
self.selenium.find_element(By.LINK_TEXT, "Add another Class").click()
- available, chosen = self.selenium.find_elements(
- By.CSS_SELECTOR, css_selector % 1
+ available = self.selenium.find_element(
+ By.CSS_SELECTOR, css_available_selector % 1
)
- self.assertEqual(available.text, "AVAILABLE ATTENDANT")
- self.assertEqual(chosen.text, "CHOSEN ATTENDANT")
+ chosen = self.selenium.find_element(
+ By.CSS_SELECTOR, css_chosen_selector % 1
+ )
+ self.assertIn("Available attendant", available.text)
+ self.assertIn("Chosen attendant", chosen.text)
# Third inline should also have the correct verbose_name.
self.selenium.find_element(By.LINK_TEXT, "Add another Class").click()
- available, chosen = self.selenium.find_elements(
- By.CSS_SELECTOR, css_selector % 2
+ available = self.selenium.find_element(
+ By.CSS_SELECTOR, css_available_selector % 2
+ )
+ chosen = self.selenium.find_element(
+ By.CSS_SELECTOR, css_chosen_selector % 2
)
- self.assertEqual(available.text, "AVAILABLE ATTENDANT")
- self.assertEqual(chosen.text, "CHOSEN ATTENDANT")
+ self.assertIn("Available attendant", available.text)
+ self.assertIn("Chosen attendant", chosen.text)
def test_tabular_inline_layout(self):
from selenium.webdriver.common.by import By
diff --git a/tests/admin_views/test_related_object_lookups.py b/tests/admin_views/test_related_object_lookups.py
index 4b2171a09f..b591117460 100644
--- a/tests/admin_views/test_related_object_lookups.py
+++ b/tests/admin_views/test_related_object_lookups.py
@@ -162,7 +162,7 @@ class SeleniumTests(AdminSeleniumTestCase):
# Move the new value to the from box.
self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_to']/option").click()
- self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_remove_link']").click()
+ self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_remove']").click()
self.assertHTMLEqual(
m2m_box.get_attribute("innerHTML"),
@@ -172,7 +172,7 @@ class SeleniumTests(AdminSeleniumTestCase):
# Move the new value to the to box.
self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_from']/option").click()
- self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_add_link']").click()
+ self.selenium.find_element(By.XPATH, "//*[@id='id_m2m_add']").click()
self.assertHTMLEqual(m2m_box.get_attribute("innerHTML"), "")
self.assertHTMLEqual(
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 3f106f6814..1ff29fc3db 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -6225,9 +6225,7 @@ class SeleniumTests(AdminSeleniumTestCase):
self.take_screenshot("selectbox-available-perms-some-selected")
# Move permissions to the "Chosen" list, but none is selected yet.
- self.selenium.find_element(
- By.CSS_SELECTOR, "#id_user_permissions_add_link"
- ).click()
+ self.selenium.find_element(By.CSS_SELECTOR, "#id_user_permissions_add").click()
self.take_screenshot("selectbox-chosen-perms-none-selected")
# Select some permissions from the "Chosen" list.
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index 5da4adf8c9..a81f5802d1 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -1257,15 +1257,19 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
def assertActiveButtons(
self, mode, field_name, choose, remove, choose_all=None, remove_all=None
):
- choose_link = "#id_%s_add_link" % field_name
- choose_all_link = "#id_%s_add_all_link" % field_name
- remove_link = "#id_%s_remove_link" % field_name
- remove_all_link = "#id_%s_remove_all_link" % field_name
- self.assertEqual(self.has_css_class(choose_link, "active"), choose)
- self.assertEqual(self.has_css_class(remove_link, "active"), remove)
+ 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)
if mode == "horizontal":
- self.assertEqual(self.has_css_class(choose_all_link, "active"), choose_all)
- self.assertEqual(self.has_css_class(remove_all_link, "active"), remove_all)
+ self.assertEqual(
+ self.has_css_class(choose_all_button, "active"), choose_all
+ )
+ self.assertEqual(
+ self.has_css_class(remove_all_button, "active"), remove_all
+ )
def execute_basic_operations(self, mode, field_name):
from selenium.webdriver.common.by import By
@@ -1274,10 +1278,10 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
from_box = "#id_%s_from" % field_name
to_box = "#id_%s_to" % field_name
- choose_link = "id_%s_add_link" % field_name
- choose_all_link = "id_%s_add_all_link" % field_name
- remove_link = "id_%s_remove_link" % field_name
- remove_all_link = "id_%s_remove_all_link" % field_name
+ 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
# Initial positions ---------------------------------------------------
self.assertSelectOptions(
@@ -1296,7 +1300,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Click 'Choose all' --------------------------------------------------
if mode == "horizontal":
- self.selenium.find_element(By.ID, choose_all_link).click()
+ self.selenium.find_element(By.ID, choose_all_button).click()
elif mode == "vertical":
# There 's no 'Choose all' button in vertical mode, so individually
# select all options and click 'Choose'.
@@ -1304,7 +1308,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
By.CSS_SELECTOR, from_box + " > option"
):
option.click()
- self.selenium.find_element(By.ID, choose_link).click()
+ self.selenium.find_element(By.ID, choose_button).click()
self.assertSelectOptions(from_box, [])
self.assertSelectOptions(
to_box,
@@ -1323,7 +1327,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Click 'Remove all' --------------------------------------------------
if mode == "horizontal":
- self.selenium.find_element(By.ID, remove_all_link).click()
+ self.selenium.find_element(By.ID, remove_all_button).click()
elif mode == "vertical":
# There 's no 'Remove all' button in vertical mode, so individually
# select all options and click 'Remove'.
@@ -1331,7 +1335,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
By.CSS_SELECTOR, to_box + " > option"
):
option.click()
- self.selenium.find_element(By.ID, remove_link).click()
+ self.selenium.find_element(By.ID, remove_button).click()
self.assertSelectOptions(
from_box,
[
@@ -1364,7 +1368,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
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.selenium.find_element(By.ID, choose_link).click()
+ self.selenium.find_element(By.ID, choose_button).click()
self.assertActiveButtons(mode, field_name, False, False, True, True)
self.assertSelectOptions(
@@ -1399,7 +1403,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
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.selenium.find_element(By.ID, remove_link).click()
+ self.selenium.find_element(By.ID, remove_button).click()
self.assertActiveButtons(mode, field_name, False, False, True, True)
self.assertSelectOptions(
@@ -1418,7 +1422,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Choose some more options --------------------------------------------
self.select_option(from_box, str(self.arthur.id))
self.select_option(from_box, str(self.cliff.id))
- self.selenium.find_element(By.ID, choose_link).click()
+ self.selenium.find_element(By.ID, choose_button).click()
self.assertSelectOptions(
from_box,
@@ -1445,7 +1449,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Confirm they're selected after clicking inactive buttons: ticket #26575
self.assertSelectedOptions(from_box, [str(self.peter.id), str(self.lisa.id)])
- self.selenium.find_element(By.ID, remove_link).click()
+ self.selenium.find_element(By.ID, remove_button).click()
self.assertSelectedOptions(from_box, [str(self.peter.id), str(self.lisa.id)])
# Unselect the options ------------------------------------------------
@@ -1458,7 +1462,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
# Confirm they're selected after clicking inactive buttons: ticket #26575
self.assertSelectedOptions(to_box, [str(self.jason.id), str(self.john.id)])
- self.selenium.find_element(By.ID, choose_link).click()
+ self.selenium.find_element(By.ID, choose_button).click()
self.assertSelectedOptions(to_box, [str(self.jason.id), str(self.john.id)])
# Unselect the options ------------------------------------------------
@@ -1520,8 +1524,8 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
for field_name in ["students", "alumni"]:
from_box = "#id_%s_from" % field_name
to_box = "#id_%s_to" % field_name
- choose_link = "id_%s_add_link" % field_name
- remove_link = "id_%s_remove_link" % field_name
+ choose_link = "id_%s_add" % field_name
+ remove_link = "id_%s_remove" % field_name
input = self.selenium.find_element(By.ID, "id_%s_input" % field_name)
# Initial values.
self.assertSelectOptions(