diff options
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 59 |
1 files changed, 54 insertions, 5 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index d8087163d..a3a2e4b5b 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -2703,6 +2703,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 @@ -2723,10 +2728,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 ) @@ -2879,6 +2880,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 @@ -3405,7 +3454,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 |