diff --git a/mayan/apps/documents/tests/mixins.py b/mayan/apps/documents/tests/mixins.py index bb996c6cde..fb1e4875df 100644 --- a/mayan/apps/documents/tests/mixins.py +++ b/mayan/apps/documents/tests/mixins.py @@ -69,6 +69,7 @@ class DocumentTestMixin(object): self.test_document = document self.test_documents.append(document) + self.test_document_page = document.latest_version.pages.first() class DocumentTypeViewTestMixin(object): diff --git a/mayan/apps/documents/tests/test_document_page_views.py b/mayan/apps/documents/tests/test_document_page_views.py index 29ee28cec3..f6b0b8d388 100644 --- a/mayan/apps/documents/tests/test_document_page_views.py +++ b/mayan/apps/documents/tests/test_document_page_views.py @@ -9,10 +9,10 @@ from ..permissions import ( from .base import GenericDocumentViewTestCase -class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): - def setUp(self): - super(DocumentPageDisableViewTestCase, self).setUp() - self.test_document_page = self.test_document.pages_all.first() +class DocumentPageDisableViewTestMixin(object): + def _disable_test_document_page(self): + self.test_document_page.enabled = False + self.test_document_page.save() def _request_test_document_page_disable_view(self): return self.post( @@ -21,6 +21,31 @@ class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): } ) + def _request_test_document_page_enable_view(self): + return self.post( + viewname='documents:document_page_enable', kwargs={ + 'pk': self.test_document_page.pk + } + ) + + def _request_test_document_page_multiple_disable_view(self): + return self.post( + viewname='documents:document_page_multiple_disable', data={ + 'id_list': self.test_document_page.pk + } + ) + + def _request_test_document_page_multiple_enable_view(self): + return self.post( + viewname='documents:document_page_multiple_enable', data={ + 'id_list': self.test_document_page.pk + } + ) + + +class DocumentPageDisableViewTestCase( + DocumentPageDisableViewTestMixin, GenericDocumentViewTestCase +): def test_document_page_disable_view_no_permission(self): test_document_page_count = self.test_document.pages.count() @@ -45,13 +70,6 @@ class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): test_document_page_count, self.test_document.pages.count() ) - def _request_test_document_page_multiple_disable_view(self): - return self.post( - viewname='documents:document_page_multiple_disable', data={ - 'id_list': self.test_document_page.pk - } - ) - def test_document_page_multiple_disable_view_no_permission(self): test_document_page_count = self.test_document.pages.count() @@ -76,17 +94,6 @@ class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): test_document_page_count, self.test_document.pages.count() ) - def _disable_test_document_page(self): - self.test_document_page.enabled = False - self.test_document_page.save() - - def _request_test_document_page_enable_view(self): - return self.post( - viewname='documents:document_page_enable', kwargs={ - 'pk': self.test_document_page.pk - } - ) - def test_document_page_enable_view_no_permission(self): self._disable_test_document_page() @@ -114,13 +121,6 @@ class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): test_document_page_count, self.test_document.pages.count() ) - def _request_test_document_page_multiple_enable_view(self): - return self.post( - viewname='documents:document_page_multiple_enable', data={ - 'id_list': self.test_document_page.pk - } - ) - def test_document_page_multiple_enable_view_no_permission(self): self._disable_test_document_page() test_document_page_count = self.test_document.pages.count() @@ -148,7 +148,7 @@ class DocumentPageDisableViewTestCase(GenericDocumentViewTestCase): ) -class DocumentPageViewTestCase(GenericDocumentViewTestCase): +class DocumentPageViewTestMixin(object): def _request_test_document_page_list_view(self): return self.get( viewname='documents:document_pages', kwargs={ @@ -156,6 +156,17 @@ class DocumentPageViewTestCase(GenericDocumentViewTestCase): } ) + def _request_test_document_page_view(self, document_page): + return self.get( + viewname='documents:document_page_view', kwargs={ + 'pk': document_page.pk, + } + ) + + +class DocumentPageViewTestCase( + DocumentPageViewTestMixin, GenericDocumentViewTestCase +): def test_document_page_list_view_no_permission(self): response = self._request_test_document_page_list_view() self.assertEqual(response.status_code, 404) @@ -170,13 +181,6 @@ class DocumentPageViewTestCase(GenericDocumentViewTestCase): response=response, text=self.test_document.label, status_code=200 ) - def _request_test_document_page_view(self, document_page): - return self.get( - viewname='documents:document_page_view', kwargs={ - 'pk': document_page.pk, - } - ) - def test_document_page_view_no_permissions(self): response = self._request_test_document_page_view( document_page=self.test_document.pages.first() diff --git a/mayan/apps/documents/tests/test_document_type_views.py b/mayan/apps/documents/tests/test_document_type_views.py index 6c2ca8b557..dfce05f629 100644 --- a/mayan/apps/documents/tests/test_document_type_views.py +++ b/mayan/apps/documents/tests/test_document_type_views.py @@ -203,7 +203,7 @@ class DocumentTypeQuickLabelViewsTestCase( ) -class DocumentsQuickLabelViewsTestCase(DocumentTypeQuickLabelTestMixin, GenericDocumentViewTestCase): +class DocumentsQuickLabelViewTestMixin(object): def _request_document_quick_label_edit_view(self, extra_data=None): data = { 'document_type_available_filenames': self.test_document_type_filename.pk, @@ -219,6 +219,11 @@ class DocumentsQuickLabelViewsTestCase(DocumentTypeQuickLabelTestMixin, GenericD }, data=data ) + +class DocumentsQuickLabelViewTestCase( + DocumentsQuickLabelViewTestMixin, DocumentTypeQuickLabelTestMixin, + GenericDocumentViewTestCase +): def test_document_quick_label_no_permission(self): self._create_test_quick_label() diff --git a/mayan/apps/documents/tests/test_document_version_views.py b/mayan/apps/documents/tests/test_document_version_views.py index 4f712a638b..96eec871a2 100644 --- a/mayan/apps/documents/tests/test_document_version_views.py +++ b/mayan/apps/documents/tests/test_document_version_views.py @@ -9,13 +9,24 @@ from .literals import TEST_VERSION_COMMENT from .mixins import DocumentVersionTestMixin -class DocumentVersionTestCase(DocumentVersionTestMixin, GenericDocumentViewTestCase): +class DocumentVersionViewTestMixin(object): def _request_document_version_list_view(self): return self.get( viewname='documents:document_version_list', kwargs={'pk': self.test_document.pk} ) + def _request_document_version_revert_view(self, document_version): + return self.post( + viewname='documents:document_version_revert', + kwargs={'pk': document_version.pk} + ) + + +class DocumentVersionViewTestCase( + DocumentVersionTestMixin, DocumentVersionViewTestMixin, + GenericDocumentViewTestCase +): def test_document_version_list_no_permission(self): self._upload_new_version() @@ -33,12 +44,6 @@ class DocumentVersionTestCase(DocumentVersionTestMixin, GenericDocumentViewTestC response=response, text=TEST_VERSION_COMMENT, status_code=200 ) - def _request_document_version_revert_view(self, document_version): - return self.post( - viewname='documents:document_version_revert', - kwargs={'pk': document_version.pk} - ) - def test_document_version_revert_no_permission(self): first_version = self.test_document.latest_version self._upload_new_version() diff --git a/mayan/apps/documents/tests/test_duplicated_document_views.py b/mayan/apps/documents/tests/test_duplicated_document_views.py index a1bf680c18..eeec40c607 100644 --- a/mayan/apps/documents/tests/test_duplicated_document_views.py +++ b/mayan/apps/documents/tests/test_duplicated_document_views.py @@ -5,7 +5,7 @@ from ..permissions import permission_document_view from .base import GenericDocumentViewTestCase -class DuplicatedDocumentsViewsTestCase(GenericDocumentViewTestCase): +class DuplicatedDocumentsViewsTestMixin(object): def _upload_duplicate_document(self): self.upload_document() @@ -18,6 +18,10 @@ class DuplicatedDocumentsViewsTestCase(GenericDocumentViewTestCase): kwargs={'pk': self.test_documents[0].pk} ) + +class DuplicatedDocumentsViewsTestCase( + DuplicatedDocumentsViewsTestMixin, GenericDocumentViewTestCase +): def test_duplicated_document_list_no_permissions(self): self._upload_duplicate_document() diff --git a/mayan/apps/documents/tests/test_events.py b/mayan/apps/documents/tests/test_events.py index 2f9428054b..940f5e3041 100644 --- a/mayan/apps/documents/tests/test_events.py +++ b/mayan/apps/documents/tests/test_events.py @@ -17,12 +17,23 @@ TEST_TRANSFORMATION_NAME = 'rotate' TEST_TRANSFORMATION_ARGUMENT = 'degrees: 180' -class DocumentEventsTestCase(GenericDocumentViewTestCase): +class DocumentEventsTestMixin(object): def _request_test_document_download_view(self): return self.get( 'documents:document_download', kwargs={'pk': self.test_document.pk} ) + def _request_test_document_preview_view(self): + return self.get( + viewname='documents:document_preview', kwargs={ + 'pk': self.test_document.pk + } + ) + + +class DocumentEventsTestCase( + DocumentEventsTestMixin, GenericDocumentViewTestCase +): def test_document_download_event_no_permissions(self): Action.objects.all().delete() @@ -55,13 +66,6 @@ class DocumentEventsTestCase(GenericDocumentViewTestCase): self.assertEqual(event.target, self.test_document) self.assertEqual(event.verb, event_document_download.id) - def _request_test_document_preview_view(self): - return self.get( - viewname='documents:document_preview', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_view_event_no_permissions(self): Action.objects.all().delete() diff --git a/mayan/apps/documents/tests/test_favorite_document_views.py b/mayan/apps/documents/tests/test_favorite_document_views.py index ea1c9fedce..9236199d1f 100644 --- a/mayan/apps/documents/tests/test_favorite_document_views.py +++ b/mayan/apps/documents/tests/test_favorite_document_views.py @@ -6,13 +6,34 @@ from ..permissions import permission_document_view from .base import GenericDocumentViewTestCase -class FavoriteDocumentsTestCase(GenericDocumentViewTestCase): +class FavoriteDocumentsTestMixin(object): def _request_document_add_to_favorites_view(self): return self.post( viewname='documents:document_add_to_favorites', kwargs={'pk': self.test_document.pk} ) + def _document_add_to_favorites(self): + FavoriteDocument.objects.add_for_user( + document=self.test_document, user=self._test_case_user + ) + + def _request_document_list_favorites(self): + return self.get( + viewname='documents:document_list_favorites', + ) + + def _request_document_remove_from_favorites(self): + return self.post( + viewname='documents:document_remove_from_favorites', + kwargs={'pk': self.test_document.pk} + ) + + +class FavoriteDocumentsTestCase( + FavoriteDocumentsTestMixin, GenericDocumentViewTestCase +): + def test_document_add_to_favorites_view_no_permission(self): response = self._request_document_add_to_favorites_view() self.assertEqual(response.status_code, 404) @@ -26,16 +47,6 @@ class FavoriteDocumentsTestCase(GenericDocumentViewTestCase): self.assertEqual(response.status_code, 302) self.assertEqual(FavoriteDocument.objects.count(), 1) - def _document_add_to_favorites(self): - FavoriteDocument.objects.add_for_user( - document=self.test_document, user=self._test_case_user - ) - - def _request_document_list_favorites(self): - return self.get( - viewname='documents:document_list_favorites', - ) - def test_document_list_favorites_view_no_permission(self): self._document_add_to_favorites() response = self._request_document_list_favorites() @@ -53,12 +64,6 @@ class FavoriteDocumentsTestCase(GenericDocumentViewTestCase): response=response, text=self.test_document.label, status_code=200 ) - def _request_document_remove_from_favorites(self): - return self.post( - viewname='documents:document_remove_from_favorites', - kwargs={'pk': self.test_document.pk} - ) - def test_document_remove_from_favorites_view_no_permission(self): self._document_add_to_favorites() response = self._request_document_remove_from_favorites() diff --git a/mayan/apps/documents/tests/test_links.py b/mayan/apps/documents/tests/test_links.py index c5947aca14..56eb9c07b0 100644 --- a/mayan/apps/documents/tests/test_links.py +++ b/mayan/apps/documents/tests/test_links.py @@ -89,7 +89,6 @@ class DocumentsLinksTestCase(GenericDocumentViewTestCase): class DeletedDocumentsLinksTestCase(GenericDocumentViewTestCase): def setUp(self): super(DeletedDocumentsLinksTestCase, self).setUp() - self.login_user() self.test_document.delete() self.test_deleted_document = DeletedDocument.objects.get( pk=self.test_document.pk diff --git a/mayan/apps/documents/tests/test_search.py b/mayan/apps/documents/tests/test_search.py index 531f6e8d2f..82c4cf9808 100644 --- a/mayan/apps/documents/tests/test_search.py +++ b/mayan/apps/documents/tests/test_search.py @@ -1,12 +1,13 @@ from __future__ import unicode_literals -from mayan.apps.common.tests.base import BaseTestCase from mayan.apps.documents.permissions import permission_document_view from mayan.apps.documents.search import document_search, document_page_search from mayan.apps.documents.tests.mixins import DocumentTestMixin +from .base import GenericDocumentViewTestCase -class DocumentSearchTestCase(DocumentTestMixin, BaseTestCase): + +class DocumentSearchTestMixin(object): def _perform_document_page_search(self): return document_page_search.search( query_string={'q': self.test_document.label}, user=self._test_case_user @@ -17,6 +18,10 @@ class DocumentSearchTestCase(DocumentTestMixin, BaseTestCase): query_string={'q': self.test_document.label}, user=self._test_case_user ) + +class DocumentSearchTestCase( + DocumentSearchTestMixin, GenericDocumentViewTestCase +): def test_document_page_search_no_access(self): queryset = self._perform_document_page_search() self.assertFalse(self.test_document.pages.first() in queryset) diff --git a/mayan/apps/documents/tests/test_trashed_document_views.py b/mayan/apps/documents/tests/test_trashed_document_views.py index 8be806f36e..51a51da737 100644 --- a/mayan/apps/documents/tests/test_trashed_document_views.py +++ b/mayan/apps/documents/tests/test_trashed_document_views.py @@ -9,7 +9,7 @@ from ..permissions import ( from .base import GenericDocumentViewTestCase -class TrashedDocumentTestCase(GenericDocumentViewTestCase): +class TrashedDocumentTestMixin(object): def _request_document_restore_get_view(self): return self.get( viewname='documents:document_restore', kwargs={ @@ -17,6 +17,49 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): } ) + def _request_document_restore_post_view(self): + return self.post( + viewname='documents:document_restore', kwargs={ + 'pk': self.test_document.pk + } + ) + + def _request_document_trash_get_view(self): + return self.get( + viewname='documents:document_trash', kwargs={ + 'pk': self.test_document.pk + } + ) + + def _request_document_trash_post_view(self): + return self.post( + viewname='documents:document_trash', kwargs={ + 'pk': self.test_document.pk + } + ) + + def _request_document_delete_get_view(self): + return self.get( + viewname='documents:document_delete', kwargs={ + 'pk': self.test_document.pk + } + ) + + def _request_document_delete_post_view(self): + return self.post( + viewname='documents:document_delete', kwargs={ + 'pk': self.test_document.pk + } + ) + + def _request_document_list_deleted_view(self): + return self.get(viewname='documents:document_list_deleted') + + +class TrashedDocumentTestCase( + TrashedDocumentTestMixin, GenericDocumentViewTestCase +): + def test_document_restore_get_view_no_permission(self): self.test_document.delete() self.assertEqual(Document.objects.count(), 0) @@ -43,13 +86,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): self.assertEqual(Document.objects.count(), document_count) - def _request_document_restore_post_view(self): - return self.post( - viewname='documents:document_restore', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_restore_post_view_no_permission(self): self.test_document.delete() self.assertEqual(Document.objects.count(), 0) @@ -74,13 +110,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): self.assertEqual(DeletedDocument.objects.count(), 0) self.assertEqual(Document.objects.count(), 1) - def _request_document_trash_get_view(self): - return self.get( - viewname='documents:document_trash', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_trash_get_view_no_permissions(self): document_count = Document.objects.count() @@ -101,13 +130,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): self.assertEqual(Document.objects.count(), document_count) - def _request_document_trash_post_view(self): - return self.post( - viewname='documents:document_trash', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_trash_post_view_no_permissions(self): response = self._request_document_trash_post_view() self.assertEqual(response.status_code, 404) @@ -126,13 +148,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): self.assertEqual(DeletedDocument.objects.count(), 1) self.assertEqual(Document.objects.count(), 0) - def _request_document_delete_get_view(self): - return self.get( - viewname='documents:document_delete', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_delete_get_view_no_permissions(self): self.test_document.delete() self.assertEqual(Document.objects.count(), 0) @@ -165,13 +180,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): DeletedDocument.objects.count(), trashed_document_count ) - def _request_document_delete_post_view(self): - return self.post( - viewname='documents:document_delete', kwargs={ - 'pk': self.test_document.pk - } - ) - def test_document_delete_post_view_no_permissions(self): self.test_document.delete() self.assertEqual(Document.objects.count(), 0) @@ -198,9 +206,6 @@ class TrashedDocumentTestCase(GenericDocumentViewTestCase): self.assertEqual(DeletedDocument.objects.count(), 0) self.assertEqual(Document.objects.count(), 0) - def _request_document_list_deleted_view(self): - return self.get(viewname='documents:document_list_deleted') - def test_deleted_document_list_view_no_permissions(self): self.test_document.delete()