From 2b335e9454fb53ad1e4348b9def8ee5897e74918 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 3 Nov 2016 15:49:56 -0400 Subject: [PATCH] Add test for deleted document restore link. --- mayan/apps/documents/tests/test_links.py | 44 ++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/mayan/apps/documents/tests/test_links.py b/mayan/apps/documents/tests/test_links.py index f13a97970b..a6f75d7481 100644 --- a/mayan/apps/documents/tests/test_links.py +++ b/mayan/apps/documents/tests/test_links.py @@ -12,10 +12,12 @@ from user_management.tests.literals import ( ) from ..links import ( - link_document_version_download, link_document_version_revert + link_document_restore, link_document_version_download, + link_document_version_revert ) from ..permissions import ( - permission_document_download, permission_document_version_revert + permission_document_download, permission_document_restore, + permission_document_version_revert ) from .literals import TEST_SMALL_DOCUMENT_PATH @@ -98,3 +100,41 @@ class DocumentsLinksTestCase(GenericDocumentViewTestCase): args=(self.document.latest_version.pk,) ) ) + + +class DeletedDocumentsLinksTestCase(GenericDocumentViewTestCase): + def test_deleted_document_restore_link_no_permission(self): + self.document.delete() + + self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD) + + self.add_test_view(test_object=self.document) + context = self.get_test_view() + resolved_link = link_document_restore.resolve(context=context) + + self.assertEqual(resolved_link, None) + + def test_deleted_document_restore_link_with_permission(self): + self.document.delete() + + self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD) + + acl = AccessControlList.objects.create( + content_object=self.document, role=self.role + ) + acl.permissions.add( + permission_document_restore.stored_permission + ) + + self.add_test_view(test_object=self.document) + context = self.get_test_view() + resolved_link = link_document_restore.resolve(context=context) + + self.assertNotEqual(resolved_link, None) + self.assertEqual( + resolved_link.url, + reverse( + 'documents:document_restore', + args=(self.document.pk,) + ) + )