diff --git a/apps/documents/tests.py b/apps/documents/tests.py index 3d2ba1021b..3eb6634fc4 100644 --- a/apps/documents/tests.py +++ b/apps/documents/tests.py @@ -28,7 +28,7 @@ class DocumentTestCase(unittest.TestCase): new_version = self.document.new_version(file=File(file_object, name='mayan_11_1.pdf')) file_object.close() - def runTest(self): + def test_document_creation(self): self.failUnlessEqual(self.document_type.name, 'test doc type') self.failUnlessEqual(self.document.exists(), True) @@ -83,3 +83,55 @@ class DocumentTestCase(unittest.TestCase): def tearDown(self): self.document.delete() + self.document_type.delete() + + +class DocumentSearchTestCase(unittest.TestCase): + def setUp(self): + from ocr.parsers import parse_document_page + self.document_type = DocumentType(name='test doc type') + self.document_type.save() + + self.document = Document( + document_type=self.document_type, + description='description', + ) + self.document.save() + + file_object = open(os.path.join(settings.PROJECT_ROOT, 'contrib', 'mayan_11_1.pdf')) + new_version = self.document.new_version(file=File(file_object, name='mayan_11_1.pdf')) + file_object.close() + # Text extraction on the first page only + parse_document_page(self.document.latest_version.pages.all()[0]) + + def test_simple_search_after_related_name_change(self): + from . import document_search + """ + Test that simple search works after related_name changes to + document versions and document version pages + """ + model_list, flat_list, shown_result_count, result_count, elapsed_time = document_search.simple_search('Mayan') + self.assertEqual(result_count, 1) + self.assertEqual(flat_list, [self.document]) + + def test_advanced_search_after_related_name_change(self): + from . import document_search + # Test versions__filename + model_list, flat_list, shown_result_count, result_count, elapsed_time = document_search.advanced_search({'versions__filename': self.document.filename}) + self.assertEqual(result_count, 1) + self.assertEqual(flat_list, [self.document]) + + # Test versions__mimetype + model_list, flat_list, shown_result_count, result_count, elapsed_time = document_search.advanced_search({'versions__mimetype': self.document.file_mimetype}) + self.assertEqual(result_count, 1) + self.assertEqual(flat_list, [self.document]) + + # Test versions__pages__content + # Search by the first 20 characters of the content of the first page of the uploaded document + model_list, flat_list, shown_result_count, result_count, elapsed_time = document_search.advanced_search({'versions__pages__content': self.document.latest_version.pages.all()[0].content[0:20]}) + self.assertEqual(result_count, 1) + self.assertEqual(flat_list, [self.document]) + + def tearDown(self): + self.document.delete() + self.document_type.delete()