diff options
| -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: | 
