diff options
author | QuentinAndre <quentin.andre@imt-atlantique.net> | 2021-08-25 11:54:27 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-11-16 17:04:41 +0100 |
commit | 2fd7713af7cca592a59f9ce974e5b382f63b45b3 (patch) | |
tree | 486a128c0c607746f3136f8944f3587593d0320f /archaeological_operations/tests.py | |
parent | 980e67ca5e9ab913fbf9d250d9d1a36c15959df7 (diff) | |
download | Ishtar-2fd7713af7cca592a59f9ce974e5b382f63b45b3.tar.bz2 Ishtar-2fd7713af7cca592a59f9ce974e5b382f63b45b3.zip |
additional tests without nested tabs for testing the ui of basefinds
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 8a377d798..5927e769f 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -16,7 +16,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # See the file COPYING for details. - +import copy import json import datetime from subprocess import Popen, PIPE @@ -4190,6 +4190,7 @@ class SeleniumTestsOperations(SeleniumTests): def _test_operation(self, i, slug_pk, geojsons, label): get_poly_id = "get-poly-for-" + slug_pk + get_poly_label_id = "get-poly-label-for-" + slug_pk disp_cr_id = "disp-cr-for-" + slug_pk disp_bf_id = "disp-bf-for-" + slug_pk @@ -4219,24 +4220,31 @@ class SeleniumTestsOperations(SeleniumTests): ope_base = geojsons[label]['get_pts'] else: ope_base = geojsons[label]['get_polys'] - - self.selenium.find_element_by_xpath('//tbody/tr[' + str(i) + ']/td/a[@class="display_details"]').click() + title = self.selenium.find_element_by_xpath( + '//h3[text()="Rechercher une opération" or text()="Operation search"]') + panel = title.find_element_by_xpath('./..') + tbody = './form' + '/div'*7 + '/table/tbody' + details = panel.find_element_by_xpath(tbody + '/tr[' + str(i) + ']/td/a[@class="display_details"]') + self.scroll(details) + details.click() self.WebDriverWait(self.selenium, 2).until( lambda driver: driver.find_element_by_xpath( - '//dl[@class="col-12"]/dt[text()="Display geo items" or text()="Afficher les éléments"]')) + '//dl[@class="col-12"]/dt[@id="display-geo-items-for-' + slug_pk + '"]')) dd = '//dl[@class="col-12"]/dd' - self.selenium.find_element_by_xpath(dd + '/fieldset/label[text()="Display context records"]') + self.selenium.find_element_by_xpath(dd + '/fieldset/label[@for="' + disp_cr_id + '"]') disp_cr = self.selenium.find_element_by_xpath(dd + '/fieldset/input[@id="' + disp_cr_id + '"]') - self.selenium.find_element_by_xpath(dd + '/fieldset/label[text()="Display context records"]') + self.selenium.find_element_by_xpath(dd + '/fieldset/label[@for="' + disp_bf_id + '"]') disp_bf = self.selenium.find_element_by_xpath(dd + '/fieldset/input[@id="' + disp_bf_id + '"]') self.assertFalse(disp_cr.is_selected()) self.assertFalse(disp_bf.is_selected()) select_get_poly = dd + '/select[@id="' + get_poly_id + '"]' + get_poly_label = dd + '/label[@id="' + get_poly_label_id + '"]' self.assertNotInDOM(select_get_poly) + self.assertNotInDOM(get_poly_label) self.assertMap(ope_base, slug_pk) # click on "Context records" - self.selenium.execute_script('return initialize_test_map(arguments[0])', slug_pk) + self.selenium.execute_script('initialize_test_map(arguments[0])', slug_pk) self.scroll(disp_cr) disp_cr.click() @@ -4246,6 +4254,7 @@ class SeleniumTestsOperations(SeleniumTests): ] self.assertTrue(disp_cr.is_selected()) self.assertFalse(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, cr_geoms) get_poly = self.selenium.find_element_by_xpath(select_get_poly) @@ -4257,26 +4266,29 @@ class SeleniumTestsOperations(SeleniumTests): ] self.assertTrue(disp_cr.is_selected()) self.assertFalse(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, cr_geoms) # Click on everything - self.selenium.execute_script('return initialize_test_map(arguments[0])', slug_pk) + self.selenium.execute_script('initialize_test_map(arguments[0])', slug_pk) disp_bf.click() every_geoms = [bf_pts, cr_pts] self.assertTrue(disp_cr.is_selected()) self.assertTrue(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, every_geoms) - self.selenium.execute_script('return initialize_test_map(arguments[0])', slug_pk) + self.selenium.execute_script('initialize_test_map(arguments[0])', slug_pk) get_poly.click() self.selenium.find_element_by_xpath(select_get_poly + '/option[@value="polygons"]').click() every_geoms = [bf_polys, cr_polys] self.assertTrue(disp_cr.is_selected()) self.assertTrue(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, every_geoms) # click on "Base finds" - self.selenium.execute_script('return initialize_test_map(arguments[0])', slug_pk) + self.selenium.execute_script('initialize_test_map(arguments[0])', slug_pk) self.scroll(disp_cr) disp_cr.click() @@ -4286,6 +4298,7 @@ class SeleniumTestsOperations(SeleniumTests): ] self.assertFalse(disp_cr.is_selected()) self.assertTrue(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, bf_geoms) select_get_poly = dd + '/select[@id="' + get_poly_id + '"]' @@ -4298,14 +4311,16 @@ class SeleniumTestsOperations(SeleniumTests): ] self.assertFalse(disp_cr.is_selected()) self.assertTrue(disp_bf.is_selected()) + self.selenium.find_element_by_xpath(get_poly_label) self.assertMap(ope_base, slug_pk, bf_geoms) # Click on "None" - self.selenium.execute_script('return initialize_test_map(arguments[0])', slug_pk) + self.selenium.execute_script('initialize_test_map(arguments[0])', slug_pk) disp_bf.click() self.assertFalse(disp_cr.is_selected()) self.assertFalse(disp_bf.is_selected()) self.assertNotInDOM(select_get_poly) + self.assertNotInDOM(get_poly_label) self.assertMap(ope_base, slug_pk) def test_geo_items(self): @@ -4318,7 +4333,7 @@ class SeleniumTestsOperations(SeleniumTests): self.selenium.find_element_by_xpath('//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]').click() ope = models.Operation.objects.get(pk=pks['Poly']) slug_pk_poly = str(ope.SLUG) + "-" + str(ope.pk) - self._test_operation(2, slug_pk_poly, geojsons, 'Poly') + 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"]') @@ -4332,5 +4347,7 @@ class SeleniumTestsOperations(SeleniumTests): print(ope.multi_polygon.coords) print(ope.point_2d.coords) slug_pk_pt = str(ope.SLUG) + "-" + str(ope.pk) - self._test_operation(1, slug_pk_pt, geojsons, 'Pt') + self._test_operation(1, slug_pk_pt, copy.deepcopy(geojsons), 'Pt') + # display both at the same time (1 is already displayed) + self._test_operation(2, slug_pk_poly, geojsons, 'Poly') |