From b55b6dc117d23ef26c3ebd4912552455cb369040 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 28 Jan 2017 11:20:24 -0400 Subject: [PATCH] Add API test for document version comment editing via PUT and PATCH. GitLab issue #348. --- mayan/apps/documents/tests/literals.py | 2 ++ mayan/apps/documents/tests/test_api.py | 39 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/mayan/apps/documents/tests/literals.py b/mayan/apps/documents/tests/literals.py index 4956dbbee1..b2eceadfc5 100644 --- a/mayan/apps/documents/tests/literals.py +++ b/mayan/apps/documents/tests/literals.py @@ -16,6 +16,7 @@ __all__ = ( 'TEST_NON_ASCII_COMPRESSED_DOCUMENT_PATH', 'TEST_NON_ASCII_DOCUMENT_FILENAME', 'TEST_NON_ASCII_DOCUMENT_PATH', 'TEST_SMALL_DOCUMENT_FILENAME', 'TEST_SMALL_DOCUMENT_PATH', + 'TEST_DOCUMENT_VERSION_COMMENT_EDITED', ) # Filenames @@ -25,6 +26,7 @@ TEST_DOCUMENT_DESCRIPTION = 'test description' TEST_DOCUMENT_FILENAME = 'mayan_11_1.pdf' TEST_DOCUMENT_TYPE = 'test_document_type' TEST_DOCUMENT_TYPE_2 = 'test document type 2' +TEST_DOCUMENT_VERSION_COMMENT_EDITED = 'test document version comment edited' 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' diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index 579104e5a8..afc33471d6 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -22,6 +22,7 @@ from user_management.tests.literals import ( from .literals import ( TEST_DOCUMENT_FILENAME, TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_CHECKSUM, TEST_SMALL_DOCUMENT_PATH, + TEST_DOCUMENT_VERSION_COMMENT_EDITED ) from ..models import Document, DocumentType, HASH_FUNCTION @@ -114,6 +115,12 @@ class DocumentAPITestCase(APITestCase): self.admin_user.delete() self.document_type.delete() + def _upload_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object, + ) + def test_document_upload(self): with open(TEST_DOCUMENT_PATH) as file_descriptor: response = self.client.post( @@ -293,5 +300,37 @@ class DocumentAPITestCase(APITestCase): del(buf) + def _edit_document_version(self): + return self.client.patch( + reverse( + 'rest_api:documentversion-detail', + args=(self.document.latest_version.pk,) + ), data={'comment': TEST_DOCUMENT_VERSION_COMMENT_EDITED} + ) + + def test_document_version_edit_via_patch(self): + self._upload_document() + response = self._edit_document_version() + + self.assertEqual(response.status_code, 200) + self.document.latest_version.refresh_from_db() + self.assertEqual(self.document.versions.count(), 1) + self.assertEqual( + self.document.latest_version.comment, + TEST_DOCUMENT_VERSION_COMMENT_EDITED + ) + + def test_document_version_edit_via_put(self): + self._upload_document() + response = self._edit_document_version() + + self.assertEqual(response.status_code, 200) + self.document.latest_version.refresh_from_db() + self.assertEqual(self.document.versions.count(), 1) + self.assertEqual( + self.document.latest_version.comment, + TEST_DOCUMENT_VERSION_COMMENT_EDITED + ) + # TODO: def test_document_set_document_type(self): # pass