Add document state action view test

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-04-23 04:18:17 -04:00
parent 1a79b4192e
commit 042745e0ca
4 changed files with 61 additions and 0 deletions

View File

@@ -121,6 +121,8 @@
* Update OCR links activation.
* Update document parsing link activation.
* Add favorite document views tests.
* Add document state action view test.
3.1.11 (2019-04-XX)
===================
* Fix multiple tag selection wizard step.

View File

@@ -153,6 +153,7 @@ Other changes
* Update OCR links activation.
* Update document parsing link activation.
* Add favorite document views tests.
* Add document state action view test.
Removals
--------

View File

@@ -1,5 +1,6 @@
from __future__ import unicode_literals
from ..classes import WorkflowAction
from ..models import Workflow
from .literals import (
@@ -11,6 +12,21 @@ from .literals import (
)
class TestWorkflowAction(WorkflowAction):
label = 'test workflow state action'
class WorkflowStateActionTestMixin(object):
TestWorkflowAction = TestWorkflowAction
test_workflow_state_action_path = 'mayan.apps.document_states.tests.mixins.TestWorkflowAction'
def _create_test_workflow_state_action(self):
self.test_workflow_state.actions.create(
label=self.TestWorkflowAction.label,
action_path=self.test_workflow_state_action_path
)
class WorkflowTestMixin(object):
def _create_test_workflow(self, add_document_type=False):
self.test_workflow = Workflow.objects.create(

View File

@@ -0,0 +1,42 @@
from __future__ import unicode_literals
from mayan.apps.common.tests import GenericViewTestCase
from ..permissions import permission_workflow_edit
from .mixins import WorkflowStateActionTestMixin, WorkflowTestMixin
class WorkflowStateActionViewTestCase(WorkflowStateActionTestMixin, WorkflowTestMixin, GenericViewTestCase):
def setUp(self):
super(WorkflowStateActionViewTestCase, self).setUp()
self._create_test_workflow()
self._create_test_workflow_state()
def _request_test_document_state_action_view(self):
return self.get(
viewname='document_states:setup_workflow_state_action_list',
kwargs={'pk': self.test_workflow_state.pk}
)
def test_workflow_state_action_list_view_no_permission(self):
self._create_test_workflow_state_action()
response = self._request_test_document_state_action_view()
self.assertNotContains(
response=response, text=self.TestWorkflowAction.label,
status_code=200
)
def test_workflow_state_action_list_view_with_access(self):
self._create_test_workflow_state_action()
self.grant_access(
obj=self.test_workflow, permission=permission_workflow_edit
)
response = self._request_test_document_state_action_view()
self.assertContains(
response=response, text=self.TestWorkflowAction.label,
status_code=200
)