diff options
author | QuentinAndre <quentin.andre@imt-atlantique.net> | 2021-07-10 10:08:30 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-25 12:06:02 +0200 |
commit | de94fe49f81dc4dc0ed3b19dcaa416f2eeec91b5 (patch) | |
tree | a148a03aa1518c097236484f2036813ce725a524 /archaeological_finds | |
parent | 6d3515380d2630d2b7e934fddd6c63aa9a8f80e4 (diff) | |
download | Ishtar-de94fe49f81dc4dc0ed3b19dcaa416f2eeec91b5.tar.bz2 Ishtar-de94fe49f81dc4dc0ed3b19dcaa416f2eeec91b5.zip |
multiple base finds
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/tests.py | 66 |
1 files changed, 65 insertions, 1 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 8bb61a044..f6d436ebe 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -2551,7 +2551,7 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(dic, res) # test API with point - find = base_find_pt.find.all()[0] + find = models.BaseFind.objects.all()[0] response = self.client.get(reverse("api-get-geo-point", kwargs={"pk": 0})) self.assertEqual(response.status_code, 404) response = self.client.get(reverse("api-get-geo-point", kwargs={"pk": find.pk})) @@ -2802,6 +2802,70 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(response.status_code, 200) self.assertIn(json.dumps(dic2).encode("utf-8"), response.content) + # context record is a polygon, one base find is a polygon and the other a point + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + pk = cr.pk + cr.multi_polygon = "SRID=4326;" + limit + cr.multi_polygon_source = "P" + cr.multi_polygon_source_item = str(ContextRecord._meta.verbose_name) + cr.save() + cr = ContextRecord.objects.get(pk=pk) + + default = { + "label": "Find 2", + "history_modifier": base_find.history_modifier, + "context_record": base_find.context_record, + } + base_find_pt = models.BaseFind.objects.create(**default) + base_find_pt.point = geom + base_find_pt.multi_polygon = None + base_find_pt.save() + base_find_pt = models.BaseFind.objects.get(pk=base_find_pt.pk) + self.base_finds.append(base_find_pt) + + dict_poly["properties"] = { + "associated base finds": { + "Find 2": dic2_copy, + "Find 1": dict_poly_copy, + } + } + self.assertEqual(dict_poly, cr.get_geo_items(True)) + + dict_centroid["properties"] = { + "associated base finds": { + "Find 2": dic_copy, + "Find 1": dict_centroid_copy, + } + } + self.assertEqual(dict_centroid, cr.get_geo_items(False)) + + # test of API for multipolygon context record with a multipolygon and a point as base find + response = self.client.get( + reverse("api-get-geo-points-from-context", kwargs={"context_record_pk": 0}) + ) + self.assertEqual(response.status_code, 404) + response = self.client.get( + reverse( + "api-get-geo-points-from-context", kwargs={"context_record_pk": cr.pk} + ) + ) + self.assertEqual(response.status_code, 200) + self.assertIn(json.dumps(dict_centroid).encode("utf-8"), response.content) + + response = self.client.get( + reverse( + "api-get-geo-polygons-from-context", kwargs={"context_record_pk": 0} + ) + ) + self.assertEqual(response.status_code, 404) + response = self.client.get( + reverse( + "api-get-geo-polygons-from-context", kwargs={"context_record_pk": cr.pk} + ) + ) + self.assertEqual(response.status_code, 200) + self.assertIn(json.dumps(dict_poly).encode("utf-8"), response.content) + class AutocompleteTest(AutocompleteTestBase, TestCase): |