diff options
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 20 |
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) |