diff --git a/contrib/sample_documents/simple_2_page_document.doc b/contrib/sample_documents/simple_2_page_document.doc new file mode 100644 index 0000000000..041f9a1502 Binary files /dev/null and b/contrib/sample_documents/simple_2_page_document.doc differ diff --git a/mayan/apps/documents/tests/literals.py b/mayan/apps/documents/tests/literals.py index 832222aba5..449005d7b7 100644 --- a/mayan/apps/documents/tests/literals.py +++ b/mayan/apps/documents/tests/literals.py @@ -34,6 +34,7 @@ TEST_HYBRID_DOCUMENT = 'hybrid_text_and_image.pdf' TEST_MULTI_PAGE_TIFF = 'multi_page.tiff' TEST_NON_ASCII_COMPRESSED_DOCUMENT_FILENAME = 'I18N_title_áéíóúüñÑ.png.zip' TEST_NON_ASCII_DOCUMENT_FILENAME = 'I18N_title_áéíóúüñÑ.png' +TEST_OFFICE_DOCUMENT = 'simple_2_page_document.doc' TEST_SMALL_DOCUMENT_FILENAME = 'title_page.png' # File paths @@ -63,6 +64,10 @@ TEST_NON_ASCII_DOCUMENT_PATH = os.path.join( settings.BASE_DIR, 'contrib', 'sample_documents', TEST_NON_ASCII_DOCUMENT_FILENAME ) +TEST_OFFICE_DOCUMENT_PATH = os.path.join( + settings.BASE_DIR, 'contrib', 'sample_documents', + TEST_OFFICE_DOCUMENT +) TEST_SMALL_DOCUMENT_PATH = os.path.join( settings.BASE_DIR, 'contrib', 'sample_documents', TEST_SMALL_DOCUMENT_FILENAME diff --git a/mayan/apps/documents/tests/test_models.py b/mayan/apps/documents/tests/test_models.py index 1651631765..c57d77aad3 100644 --- a/mayan/apps/documents/tests/test_models.py +++ b/mayan/apps/documents/tests/test_models.py @@ -6,7 +6,7 @@ from django.test import TestCase from .literals import ( TEST_DOCUMENT_TYPE, TEST_DOCUMENT_PATH, TEST_MULTI_PAGE_TIFF_PATH, - TEST_SMALL_DOCUMENT_PATH + TEST_OFFICE_DOCUMENT_PATH, TEST_SMALL_DOCUMENT_PATH ) from ..models import DeletedDocument, Document, DocumentType @@ -82,6 +82,34 @@ class DocumentTestCase(TestCase): self.assertEqual(Document.objects.count(), 0) +class OfficeDocumentTestCase(TestCase): + def setUp(self): + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + ocr_settings = self.document_type.ocr_settings + ocr_settings.auto_ocr = False + ocr_settings.save() + + with open(TEST_OFFICE_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=File(file_object) + ) + + def tearDown(self): + self.document_type.delete() + + def test_document_creation(self): + self.assertEqual(self.document.file_mimetype, 'application/msword') + self.assertEqual(self.document.file_mime_encoding, 'application/mswordbinary') + self.assertEqual( + self.document.checksum, + '03a7e9071d2c6ae05a6588acd7dff1d890fac2772cf61abd470c9ffa6ef71f03' + ) + self.assertEqual(self.document.page_count, 2) + + class MultiPageTiffTestCase(TestCase): def setUp(self): self.document_type = DocumentType.objects.create(