summaryrefslogtreecommitdiff
path: root/archaeological_finds/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r--archaeological_finds/tests.py57
1 files changed, 36 insertions, 21 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index ab27a5b01..55006c4ca 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -52,7 +52,7 @@ from ishtar_common import forms_common
from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \
TestCase, create_user, create_superuser, AutocompleteTestBase, AcItem, \
FIND_FIXTURES, FIND_TOWNS_FIXTURES, WAREHOUSE_FIXTURES, \
- COMMON_FIXTURES, GenericSerializationTest
+ COMMON_FIXTURES, GenericSerializationTest, SearchText
from archaeological_operations.tests import ImportTest, create_operation
from archaeological_context_records.tests import ContextRecordInit
@@ -841,9 +841,10 @@ class FindTest(FindInit, TestCase):
pk=self.base_finds[0].pk).count(), 0)
-class FindSearchTest(FindInit, TestCase):
+class FindSearchTest(FindInit, TestCase, SearchText):
fixtures = WAREHOUSE_FIXTURES
model = models.Find
+ SEARCH_URL = 'get-find'
def setUp(self):
self.create_finds(force=True)
@@ -896,6 +897,15 @@ class FindSearchTest(FindInit, TestCase):
content = response.content.decode()
self.assertEqual(json.loads(content)['recordsTotal'], 1)
+ # test on text search
+ material_key = str(pgettext_lazy("key for text search", 'material'))
+ result = [
+ ('{}="{}"'.format(material_key, str(iron_metal)), 1),
+ ('{}="{}"'.format(material_key, str(not_iron_metal)), 0),
+ ('{}="{}"'.format(material_key, str(metal)), 1),
+ ]
+ self._test_search(c, result, context="Text material search")
+
def test_pinned_search(self):
c = Client()
c.login(username=self.username, password=self.password)
@@ -962,6 +972,15 @@ class FindSearchTest(FindInit, TestCase):
self.assertEqual(
json.loads(response.content.decode())['recordsTotal'], 1)
+ # test on text search
+ period_key = str(pgettext_lazy("key for text search", 'datings-period'))
+ result = [
+ ('{}="{}"'.format(period_key, str(final_neo)), 1),
+ ('{}="{}"'.format(period_key, str(recent_neo)), 0),
+ ('{}="{}"'.format(period_key, str(neo)), 1),
+ ]
+ self._test_search(c, result, context="Text period search")
+
def test_conservatory_state_hierarchic_search(self):
find = self.finds[0]
c = Client()
@@ -1005,6 +1024,15 @@ class FindSearchTest(FindInit, TestCase):
content = response.content.decode()
self.assertEqual(json.loads(content)['recordsTotal'], 1)
+ # test on text search
+ key = str(pgettext_lazy("key for text search", 'conservatory'))
+ result = [
+ ('{}="{}"'.format(key, str(cs2)), 1),
+ ('{}="{}"'.format(key, str(cs3)), 0),
+ ('{}="{}"'.format(key, str(cs1)), 1),
+ ]
+ self._test_search(c, result, context="Text period search")
+
def test_image_search(self):
c = Client()
c.login(username=self.username, password=self.password)
@@ -1026,19 +1054,6 @@ class FindSearchTest(FindInit, TestCase):
res = json.loads(response.content.decode())
self.assertEqual(res['recordsTotal'], 1)
- def _test_search(self, client, result, context=""):
- for q, expected_result in result:
- search = {'search_vector': q}
- response = client.get(reverse('get-find'), search)
- self.assertEqual(response.status_code, 200)
- res = json.loads(response.content.decode())
- msg = "{} result(s) where expected for search: {} - found {}" \
- "".format(expected_result, q, res['recordsTotal'])
- if context:
- msg = context + " - " + msg
- self.assertEqual(res['recordsTotal'], expected_result,
- msg=msg)
-
def test_search_with_callable(self):
find = self.finds[0]
find2 = self.finds[1]
@@ -1048,8 +1063,8 @@ class FindSearchTest(FindInit, TestCase):
loan_key = str(pgettext_lazy("key for text search", 'loan'))
result = [
- (u'{}="{}"'.format(loan_key, str(_(u"Yes"))), 0),
- (u'{}="{}"'.format(loan_key, str(_(u"No"))), 0),
+ ('{}="{}"'.format(loan_key, str(_("Yes"))), 0),
+ ('{}="{}"'.format(loan_key, str(_("No"))), 0),
]
self._test_search(c, result, context="No container defined")
@@ -1142,11 +1157,11 @@ class FindSearchTest(FindInit, TestCase):
'reference-division')) + "-"
result = [
- (u'{}="{}"'.format(ref_div_key + "salle", "B2"), 1),
- (u'{}="{}"'.format(ref_div_key + "etagere", "A5"), 2),
- (u'{}="{}" {}="{}"'.format(
+ ('{}="{}"'.format(ref_div_key + "salle", "B2"), 1),
+ ('{}="{}"'.format(ref_div_key + "etagere", "A5"), 2),
+ ('{}="{}" {}="{}"'.format(
ref_div_key + "salle", "B2", ref_div_key + "etagere", "A5"), 1),
- (u'{}="{}" {}="{}"'.format(
+ ('{}="{}" {}="{}"'.format(
ref_div_key + "salle", "B*", ref_div_key + "etagere", "A5"), 2),
]
c.login(username=self.username, password=self.password)