Add document search test in relation to related_name updates
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user