summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/tests.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index e46c79ee6..18e17cca5 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -3084,6 +3084,26 @@ class OperationSearchTest(TestCase, OperationInitTest, SearchText):
response = c.get(reverse("get-operation"), {"search_vector": request})
self.assertEqual(json.loads(response.content.decode())["recordsTotal"], 2)
+ def test_and_search_vector(self):
+ operation_1 = models.Operation.objects.get(pk=self.operations[0].pk)
+ operation_2 = models.Operation.objects.get(pk=self.operations[1].pk)
+ villa = models.RemainType.objects.get(txt_idx="villa")
+ cairn = models.RemainType.objects.get(txt_idx="cairn")
+ operation_1.remains.add(villa)
+ operation_1.remains.add(cairn)
+ operation_2.remains.add(cairn)
+
+ c = Client()
+ c.login(username=self.username, password=self.password)
+
+ remain_key = pgettext_lazy("key for text search", "remain")
+ request = f'{remain_key}="{villa.label}" {remain_key}="{cairn.label}"'
+ response = c.get(reverse("get-operation"), {"search_vector": request})
+ self.assertEqual(json.loads(response.content.decode())["recordsTotal"], 2)
+ request = f'{remain_key}="{villa.label}" && {remain_key}="{cairn.label}"'
+ response = c.get(reverse("get-operation"), {"search_vector": request})
+ self.assertEqual(json.loads(response.content.decode())["recordsTotal"], 1)
+
def test_complex_search_vector(self):
c = Client()
c.login(username=self.username, password=self.password)