summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorQuentinAndre <quentin.andre@imt-atlantique.net>2021-08-25 11:54:27 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-08 09:58:48 +0200
commitac73c65cd3309e797c8c495454a8e48648f47090 (patch)
treeed4a2d6d326edcb6dbffb6b75d7a80f954a064e0 /archaeological_operations
parent1a950f5e45f23b22d622022ded110fc85028f6f1 (diff)
downloadIshtar-ac73c65cd3309e797c8c495454a8e48648f47090.tar.bz2
Ishtar-ac73c65cd3309e797c8c495454a8e48648f47090.zip
additional tests without nested tabs for testing the ui of basefinds
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/tests.py43
1 files changed, 30 insertions, 13 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index a4b73453e..3452b78fc 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
@@ -4245,6 +4245,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
@@ -4274,24 +4275,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()
@@ -4301,6 +4309,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)
@@ -4312,26 +4321,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()
@@ -4341,6 +4353,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 + '"]'
@@ -4353,14 +4366,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):
@@ -4373,7 +4388,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"]')
@@ -4387,5 +4402,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')