From 7c463faa9426051f3a803ad02e0f53829c85410e Mon Sep 17 00:00:00 2001
From: Eva Bardou <ebardou@teklia.com>
Date: Fri, 15 Jan 2021 11:11:58 +0100
Subject: [PATCH] Invert with_zone param behavior, set it to true by default

---
 arkindex/documents/api/elements.py            |  6 ++---
 .../documents/tests/test_children_elements.py | 24 ++++++++++++++++++-
 .../documents/tests/test_parents_elements.py  |  1 +
 3 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/arkindex/documents/api/elements.py b/arkindex/documents/api/elements.py
index 09f3f27ed1..58210af19b 100644
--- a/arkindex/documents/api/elements.py
+++ b/arkindex/documents/api/elements.py
@@ -209,12 +209,12 @@ class ElementsListMixin(object):
                 'in': 'query',
                 'description': (
                     'Returns zone attribute for each element. '
-                    'If not set, elements zone field will not be returned.'
+                    'If not set, elements zone field will be returned by default.'
                 ),
                 'required': False,
                 'schema': {
                     'type': 'boolean',
-                    'default': False
+                    'default': True
                 },
                 'x-methods': ['get'],
             },
@@ -370,7 +370,7 @@ class ElementsListMixin(object):
     def get_serializer_context(self):
         context = super().get_serializer_context()
         if self.request:
-            context['with_zone'] = self.request.query_params.get('with_zone', '').lower() not in ('', 'false', '0')
+            context['with_zone'] = self.request.query_params.get('with_zone', 'true').lower() not in ('false', '0')
             context['with_corpus'] = self.request.query_params.get('with_corpus', 'true').lower() not in ('false', '0')
         return context
 
diff --git a/arkindex/documents/tests/test_children_elements.py b/arkindex/documents/tests/test_children_elements.py
index b9d6001fe5..9a01b442fe 100644
--- a/arkindex/documents/tests/test_children_elements.py
+++ b/arkindex/documents/tests/test_children_elements.py
@@ -89,6 +89,7 @@ class TestChildrenElements(FixtureAPITestCase):
                 "name": nested_volume.name,
                 "type": nested_volume.type.slug,
                 "worker_version_id": None,
+                "zone": None,
                 "corpus": {
                     "id": str(self.corpus.id),
                     "name": self.corpus.name,
@@ -109,6 +110,7 @@ class TestChildrenElements(FixtureAPITestCase):
                 "name": nested_volume.name,
                 "type": nested_volume.type.slug,
                 "worker_version_id": str(self.worker_version.id),
+                "zone": None,
                 "corpus": {
                     "id": str(self.corpus.id),
                     "name": self.corpus.name,
@@ -201,9 +203,29 @@ class TestChildrenElements(FixtureAPITestCase):
                 "name": lonely_element.name,
                 "type": lonely_element.type.slug,
                 "worker_version_id": None,
+                "zone": {
+                    "id": str(lonely_element.zone.id),
+                    "image" : {
+                        "id": str(lonely_element.zone.image.id),
+                        "height": lonely_element.zone.image.height,
+                        "width": lonely_element.zone.image.width,
+                        "path": lonely_element.zone.image.path,
+                        "s3_url": None,
+                        "server": {
+                            "display_name": lonely_element.zone.image.server.display_name,
+                            "max_height": None,
+                            "max_width": None,
+                            "url": lonely_element.zone.image.server.url,
+                        },
+                        "status": lonely_element.zone.image.status.value,
+                        "url": lonely_element.zone.image.url
+                    },
+                    "polygon": [[0, 0], [0, 1000], [1000, 1000], [1000, 0], [0, 0]],
+                    "url": lonely_element.zone.url,
+                },
                 "best_classes": None,
                 "has_children": None,
-                "thumbnail_url": lonely_element.zone.thumbnail_url,
+                "thumbnail_url": None,
             }
         ])
 
diff --git a/arkindex/documents/tests/test_parents_elements.py b/arkindex/documents/tests/test_parents_elements.py
index 0ee259ff0c..d7ef86c05a 100644
--- a/arkindex/documents/tests/test_parents_elements.py
+++ b/arkindex/documents/tests/test_parents_elements.py
@@ -80,6 +80,7 @@ class TestParentsElements(FixtureAPITestCase):
                 "name": self.vol.name,
                 "type": self.vol.type.slug,
                 "worker_version_id": None,
+                "zone": None,
                 "best_classes": None,
                 "has_children": None,
                 "thumbnail_url": self.vol.thumbnail.s3_url,
-- 
GitLab