]> git.phdru.name Git - m_librarian.git/blobdiff - tests/test_search.py
Docs: Update TODO
[m_librarian.git] / tests / test_search.py
old mode 100755 (executable)
new mode 100644 (file)
index 1cb55b6..dfea041
@@ -1,24 +1,24 @@
-#! /usr/bin/env python
 # coding: utf-8
 
+from dbutils import setup_module, teardown_module  # noqa
+from dbutils import load_inpx
+from m_librarian.db import Author, Book
+from m_librarian.search import mk_search_conditions, \
+    search_authors, search_books
 
-from tests import TestCase, main
-from m_librarian.search import search_authors
 
+def test_search_authors():
+    load_inpx('test.inpx')
+    assert search_authors('full', True, {'surname': u'Друг'}).count() == 1
+    assert search_authors('start', True, {'surname': u'Друг'}).count() == 2
+    assert search_authors('substring', True, {'surname': u'Друг'}).count() == 2
+    assert search_authors(
+        'substring', False, {'surname': u'друг'}).count() == 3
 
-class TestSearch(TestCase):
-    def test_search_authors(self):
-        self.import_inpx('test.inpx')
-        self.assertEqual(
-            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)
-
-
-if __name__ == "__main__":
-    main()
+    join_expressions = []
+    join_expressions.append(Book.j.authors)
+    conditions = mk_search_conditions(
+        Author, 'start', False, {'surname': u'друг'})
+    join_expressions.extend(conditions)
+    assert search_books(
+        'start', False, {'title': u'тест'}, join_expressions).count() == 2