X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=tests%2Ftest_search.py;h=bc6cecabe520a640d2c4b7df30ab6bdd7c8b6d5f;hb=76fad1db9bf3d812333ca9f65b1ed87c8549cab7;hp=2ad86c6ee9f0b285d2c06f64b25d7ad45ced9a43;hpb=97780c8891fb5ed055b94e0089d7dd4c13b3f1bc;p=m_librarian.git diff --git a/tests/test_search.py b/tests/test_search.py index 2ad86c6..bc6ceca 100755 --- a/tests/test_search.py +++ b/tests/test_search.py @@ -3,20 +3,33 @@ from tests import TestCase, main -from m_librarian.search import search_authors +from m_librarian.db import Author, Book +from m_librarian.search import mk_search_conditions, \ + search_authors, search_books class TestSearch(TestCase): def test_search_authors(self): self.import_inpx('test.inpx') self.assertEqual( - search_authors('exact', True, {'surname': u'Друг'}).count(), 1) + search_authors('full', True, {'surname': u'Друг'}).count(), 1) self.assertEqual( search_authors('start', True, {'surname': u'Друг'}).count(), 2) self.assertEqual( search_authors('substring', True, {'surname': u'Друг'}).count(), 2) self.assertEqual( - search_authors('substring', False, {'surname': u'друг'}).count(), 3) + search_authors('substring', False, {'surname': u'друг'}).count(), + 3) + + join_expressions = [] + join_expressions.append(Book.j.authors) + conditions = mk_search_conditions( + Author, 'start', False, {'surname': u'друг'}) + join_expressions.extend(conditions) + self.assertEqual( + search_books('start', False, + {'title': u'тест'}, join_expressions).count(), + 2) if __name__ == "__main__":