diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-11-12 12:17:49 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-11-12 12:17:49 +0100 |
commit | 4e73dc56a822b09a2a4e0b9b66fb64dd8120c670 (patch) | |
tree | b719392d4d650776e454fc073c0a13e928eafe9d /archaeological_finds/tests.py | |
parent | 93566f3d94d4c4b35329446f04d4960b7c8be01c (diff) | |
download | Ishtar-4e73dc56a822b09a2a4e0b9b66fb64dd8120c670.tar.bz2 Ishtar-4e73dc56a822b09a2a4e0b9b66fb64dd8120c670.zip |
Tests: search hierarchic text test
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 57 |
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) |