]> git.phdru.name Git - m_librarian.git/blobdiff - tests/test_search.py
Add option -C|--config file
[m_librarian.git] / tests / test_search.py
index 2ad86c6ee9f0b285d2c06f64b25d7ad45ced9a43..bc6cecabe520a640d2c4b7df30ab6bdd7c8b6d5f 100755 (executable)
@@ -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__":