summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentinAndre <quentin.andre@imt-atlantique.net>2021-08-25 16:19:11 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-08 09:58:48 +0200
commit6be165ad3a5f7d4a1b7622c095a4996857ecb114 (patch)
tree28e14ae9fae4437a633aba1103feb2f8e8d469a6
parent82893c90a90eec6718de7bed10962f68712a41a6 (diff)
downloadIshtar-6be165ad3a5f7d4a1b7622c095a4996857ecb114.tar.bz2
Ishtar-6be165ad3a5f7d4a1b7622c095a4996857ecb114.zip
factorization of access_from_dropdown for tests
-rw-r--r--archaeological_context_records/tests.py28
-rw-r--r--archaeological_finds/tests.py42
-rw-r--r--archaeological_operations/tests.py22
-rw-r--r--ishtar_common/tests.py19
4 files changed, 26 insertions, 85 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index a089c1dc5..a99fbefe6 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -1500,19 +1500,7 @@ class SeleniumTestsContextRecords(SeleniumTests):
pks, geojsons = self.pks_and_geojson()
# from operation
for i in range(1, 3):
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]'
- ).click()
+ self.access_from_dropdown('operation')
details = self.selenium.find_element_by_xpath(
"//tbody/tr[" + str(i) + ']/td/a[@class="display_details"]'
)
@@ -1525,19 +1513,7 @@ class SeleniumTestsContextRecords(SeleniumTests):
self._test_cr(j, pks, copy.deepcopy(geojsons), method="from operation")
# from search bar
for i in range(1, 5):
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/record_search/"]'
- ).click()
+ self.access_from_dropdown('record')
self._test_cr(i, pks, copy.deepcopy(geojsons))
# from bottom table, multiple displays
for i in range(1, 4):
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 597cc29cc..2fb5bf5f5 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -2902,19 +2902,7 @@ class SeleniumTestsBaseFinds(SeleniumTests):
pks, geojsons = self.pks_and_geojson()
# from operation
for i in range(1, 3):
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]'
- ).click()
+ self.access_from_dropdown('operation')
details = self.selenium.find_element_by_xpath(
"//tbody/tr[" + str(i) + ']/td/a[@class="display_details"]'
)
@@ -2927,19 +2915,7 @@ class SeleniumTestsBaseFinds(SeleniumTests):
self._test_bf(j, pks, copy.deepcopy(geojsons))
# from context record
for i in range(1, 5):
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/record_search/"]'
- ).click()
+ self.access_from_dropdown('record')
details = self.selenium.find_element_by_xpath(
"//tbody/tr[" + str(i) + ']/td/a[@class="display_details"]'
)
@@ -2952,19 +2928,7 @@ class SeleniumTestsBaseFinds(SeleniumTests):
self._test_bf(j, pks, copy.deepcopy(geojsons))
# from search
for i in range(1, 9):
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/find_search/"]'
- ).click()
+ self.access_from_dropdown('find')
self._test_bf(i, pks, copy.deepcopy(geojsons), from_search=True)
# from bottom table
for i in range(1, 8):
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 9d835aa93..085897dea 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -4394,30 +4394,12 @@ class SeleniumTestsOperations(SeleniumTests):
def test_geo_items(self):
pks, geojsons = self.pks_and_geojson()
- self.WebDriverWait(self.selenium, self.waiting_time).until(
- lambda driver: driver.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- )
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]'
- ).click()
+ self.access_from_dropdown('operation')
ope = models.Operation.objects.get(pk=pks["Poly"])
slug_pk_poly = ope.SLUG + "-" + str(ope.pk)
self._test_operation(2, slug_pk_poly, copy.deepcopy(geojsons), "Poly")
- dropdown = self.selenium.find_element_by_xpath(
- '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
- )
- self.scroll(dropdown)
- dropdown.click()
- self.selenium.find_element_by_xpath(
- '//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]'
- ).click()
+ self.access_from_dropdown('operation')
ope = models.Operation.objects.get(pk=pks["Pt"])
slug_pk_pt = ope.SLUG + "-" + str(ope.pk)
self._test_operation(1, slug_pk_pt, copy.deepcopy(geojsons), "Pt")
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index b7c0a674e..8aef93b32 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -3714,6 +3714,25 @@ class SeleniumTests(StaticLiveServerTestCase):
element,
)
+ def access_from_dropdown(self, slug):
+ if slug == 'contextrecord':
+ slug = 'record'
+ if slug == 'basefind':
+ slug = 'find'
+ self.WebDriverWait(self.selenium, self.waiting_time).until(
+ lambda driver: driver.find_element_by_xpath(
+ '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
+ )
+ )
+ dropdown = self.selenium.find_element_by_xpath(
+ '//a[@class="nav-link dropdown-toggle"][@id="dropdown-menu-main"]'
+ )
+ self.scroll(dropdown)
+ dropdown.click()
+ self.selenium.find_element_by_xpath(
+ '//div[@class="dropdown-menu show"]/a[@href="/' + slug + '_search/"]'
+ ).click()
+
def assertNotInDOM(self, xpath):
self.selenium.implicitly_wait(self.waiting_time / 5)
try: