summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-08-07 12:49:17 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-08-07 12:49:17 +0200
commita9505657720e0617dc744a314379d2512fb8b3e0 (patch)
tree1b964ded9356fb8282739fade48a75fca9788b6a /archaeological_operations
parentd838bd7bf35c687ae534857313cf89de1ed68dac (diff)
downloadIshtar-a9505657720e0617dc744a314379d2512fb8b3e0.tar.bz2
Ishtar-a9505657720e0617dc744a314379d2512fb8b3e0.zip
🐛 searches: fix exact date searches for datetime fields (refs #6411)
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/tests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 8baf02727..caadbc94f 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -3315,6 +3315,28 @@ class OperationSearchTest(TestCase, OperationInitTest, SearchText):
]
self._test_search(c, result, context="Boolean search")
+ # date searches
+ search_created_q = str(pgettext("key for text search", "created"))
+ today = datetime.date.today().strftime('%Y-%m-%d')
+ result = [
+ (f'{search_created_q}="{today}"', len(self.operations)),
+ ]
+ self._test_search(c, result, context="Exact date search")
+ yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
+ result = [
+ (f'{search_created_q}="{yesterday}"', 0),
+ ]
+ self._test_search(c, result, context="Exact date search - no match")
+ result = [
+ (f'{search_created_q}=>"{yesterday}"', len(self.operations)),
+ ]
+ self._test_search(c, result, context="After date search")
+ tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).strftime('%Y-%m-%d')
+ result = [
+ (f'{search_created_q}=<"{tomorrow}"', len(self.operations)),
+ ]
+ self._test_search(c, result, context="Before date search")
+
def test_mixed_search_vector(self):
operation_1 = models.Operation.objects.get(pk=self.operations[0].pk)
operation_1.common_name = "Opération : Château de Fougères"