summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-12 18:27:56 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-12 18:37:14 +0100
commita6c57dac661cff1beac7510532acccc7287ac636 (patch)
tree3ec0a1d3729ea9c3dfade335f180381d2c0b30e6 /ishtar_common/tests.py
parentcaa6d9bdead4783e5eac0a45d5b60ed86d54df45 (diff)
downloadIshtar-a6c57dac661cff1beac7510532acccc7287ac636.tar.bz2
Ishtar-a6c57dac661cff1beac7510532acccc7287ac636.zip
✅ basic tests for all statistics modality
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r--ishtar_common/tests.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index b4b1bb16e..7dd687873 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -268,6 +268,36 @@ class SearchText:
self.assertEqual(res["recordsTotal"], expected_result, msg=msg)
+class StatisticsTest:
+ MODEL = None
+ SEARCH_URL = None
+
+ def test_base_statistics(self):
+ if not self.MODEL:
+ raise NotImplementedError("MODEL attribute must be set on the class")
+ if not self.SEARCH_URL:
+ raise NotImplementedError("SEARCH_URL attribute must be set on the class")
+ c = Client()
+
+ base_extra = "json-stats?submited=1"
+ response = c.get(reverse(self.SEARCH_URL) + base_extra)
+ # empty when not allowed
+ if response.status_code == 200:
+ self.assertEqual(response.status_code, 200)
+ content = json.loads(response.content.decode("utf-8"))
+ self.assertEqual(content, [])
+ c.login(username=self.username, password=self.password)
+
+ base_extra += "&stats_sum_variable=pk&stats_modality_1="
+ for modality in self.MODEL.STATISTIC_MODALITIES_OPTIONS:
+ response = c.get(reverse(self.SEARCH_URL) + base_extra + modality)
+ self.assertEqual(response.status_code, 200)
+ # only verify a response is sent
+ # TODO: check more
+ content = json.loads(response.content.decode("utf-8"))
+ self.assertTrue(len(content["data"]) > 0)
+
+
class CommandsTestCase(TestCase):
fixtures = [LIB_BASE_PATH + "ishtar_common/fixtures/test_towns.json"]