summaryrefslogtreecommitdiff
path: root/archaeological_operations/tests.py
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-11 14:07:21 +0200
commit1d20feffbce11f3579ac8f3dc325e5aa431d4e4a (patch)
tree8faea87f9e80506c5c8cb8f7eb9158c572494491 /archaeological_operations/tests.py
parent49813fddd88b013e17bfa1cc1d4184e5c65fd715 (diff)
downloadIshtar-1d20feffbce11f3579ac8f3dc325e5aa431d4e4a.tar.bz2
Ishtar-1d20feffbce11f3579ac8f3dc325e5aa431d4e4a.zip
🐛 searches: fix exact date searches for datetime fields (refs #6411)
Diffstat (limited to 'archaeological_operations/tests.py')
-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 770b57d86..31b7c6f3b 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -3367,6 +3367,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"