summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
authorQuentinAndre <quentin.andre@imt-atlantique.net>2021-08-19 12:15:20 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-09-01 12:36:46 +0200
commita0f557dd11a9ade80859f5033eecc7ca92ddd8a0 (patch)
treeaa70434afe5b8d87627fd6a0a088c9760ad1d1a5 /ishtar_common/tests.py
parent73d59d1d535e8ea779ac8e908ee6ffd4f08635cc (diff)
downloadIshtar-a0f557dd11a9ade80859f5033eecc7ca92ddd8a0.tar.bz2
Ishtar-a0f557dd11a9ade80859f5033eecc7ca92ddd8a0.zip
fixes previous commit
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r--ishtar_common/tests.py59
1 files changed, 54 insertions, 5 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index 348166069..e3314b58f 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -2693,6 +2693,11 @@ class IshtarBasicTest(TestCase):
class GeomaticTest(TestCase):
fixtures = FIND_FIXTURES
+ def setUp(self):
+ profile = models.get_current_profile()
+ profile.mapping = True
+ profile.save()
+
def test_post_save_point(self):
class FakeGeomaticObject(object):
_meta = models.GeoItem._meta
@@ -2713,10 +2718,6 @@ class GeomaticTest(TestCase):
def save(self, *args, **kwargs):
pass
- profile = models.get_current_profile()
- profile.mapping = True
- profile.save()
-
srs = models.SpatialReferenceSystem.objects.create(
label="WGS84", txt_idx="wgs84", srid=4326
)
@@ -2869,6 +2870,54 @@ class GeomaticTest(TestCase):
return geoms[0][2]
return geoms[2][1]
+ def assertPt(self, item, geom):
+ self.assertEqual(item.multi_polygon.coords, geom[0].coords)
+ self.assertEqual(item.point_2d.coords, geom[2].coords)
+
+ def assertPoly(self, item, geom, real_point=None):
+ self.assertEqual(item.multi_polygon.coords, geom[0].coords)
+ if real_point:
+ self.assertEqual((round(item.x, 5), round(item.y, 5)), real_point.coords)
+ else:
+ self.assertEqual((round(item.x, 5), round(item.y, 5)), geom[1].coords)
+
+ def test_setUpDefaultGeoItems(self):
+ from django.contrib.gis.geos import GEOSGeometry
+ from archaeological_operations.models import Operation
+ username, password, user = create_superuser()
+ base_geoms, pks = self.setUpDefaultGeoItems(user)
+ geoms = []
+ for geom in base_geoms:
+ poly = GEOSGeometry(json.dumps({'type': 'MultiPolygon', 'coordinates': geom[0]}))
+ centr = GEOSGeometry(json.dumps({'type': 'Point', 'coordinates': geom[1]}))
+ pt = GEOSGeometry(json.dumps({'type': 'Point', 'coordinates': geom[2]}))
+ geoms.append([poly, centr, pt])
+ ope_pt = Operation.objects.get(pk=pks['Pt'])
+ self.assertPt(ope_pt, geoms[0])
+ ope_poly = Operation.objects.get(pk=pks['Poly'])
+ print(ope_poly)
+ print(ope_poly.point_2d)
+ self.assertPoly(ope_poly, geoms[0])
+
+ cr_poly_poly = ope_poly.context_record.get(pk=pks['CR Poly Poly'])
+ self.assertPoly(cr_poly_poly, geoms[1])
+ cr_poly_pt = ope_poly.context_record.get(pk=pks['CR Poly Pt'])
+ self.assertPt(cr_poly_pt, geoms[1])
+ cr_pt_poly = ope_pt.context_record.get(pk=pks['CR Pt Poly'])
+ self.assertPoly(cr_pt_poly, geoms[1], geoms[0][2])
+ cr_pt_pt = ope_pt.context_record.get(pk=pks['CR Pt Pt'])
+ self.assertPt(cr_pt_pt, geoms[1])
+
+ self.assertPt(cr_pt_pt.base_finds.get(pk=pks['Find Point from CR Pt Pt']), geoms[2])
+ self.assertPoly(cr_pt_pt.base_finds.get(pk=pks['Find Polygon from CR Pt Pt']), geoms[2], geoms[1][2])
+ self.assertPt(cr_poly_pt.base_finds.get(pk=pks['Find Point from CR Poly Pt']), geoms[2])
+ self.assertPoly(cr_poly_pt.base_finds.get(pk=pks['Find Polygon from CR Poly Pt']), geoms[2], geoms[1][2])
+ self.assertPt(cr_pt_poly.base_finds.get(pk=pks['Find Point from CR Pt Poly']), geoms[2])
+ self.assertPoly(cr_pt_poly.base_finds.get(pk=pks['Find Polygon from CR Pt Poly']), geoms[2], geoms[0][2])
+ self.assertPt(cr_poly_poly.base_finds.get(pk=pks['Find Point from CR Poly Poly']), geoms[2])
+ self.assertPoly(cr_poly_poly.base_finds.get(pk=pks['Find Polygon from CR Poly Poly']), geoms[2])
+
+
class NewItems(TestCase):
fixtures = COMMON_FIXTURES
@@ -3325,7 +3374,7 @@ class SeleniumTests(StaticLiveServerTestCase):
element)
def assertMap(self, dic_base, features_collecs=None):
- mapdiv = self.selenium.find_element_by_class_name("window-map")
+ mapdiv = self.selenium.find_element_by_id("window-map")
mapid = mapdiv.get_attribute("id")
id = int(re.search(r'\d+$', mapid).group())
# TODO: use the map and not the map_features in the js function