diff options
| -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): | 
