diff options
author | QuentinAndre <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 |
commit | 6be165ad3a5f7d4a1b7622c095a4996857ecb114 (patch) | |
tree | 28e14ae9fae4437a633aba1103feb2f8e8d469a6 | |
parent | 82893c90a90eec6718de7bed10962f68712a41a6 (diff) | |
download | Ishtar-6be165ad3a5f7d4a1b7622c095a4996857ecb114.tar.bz2 Ishtar-6be165ad3a5f7d4a1b7622c095a4996857ecb114.zip |
factorization of access_from_dropdown for tests
-rw-r--r-- | archaeological_context_records/tests.py | 28 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 42 | ||||
-rw-r--r-- | archaeological_operations/tests.py | 22 | ||||
-rw-r--r-- | ishtar_common/tests.py | 19 |
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: |