Add workflow event tests
Modernize tests. Move test HTTP requests to the test mixin module. Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -6,9 +6,10 @@ from ..models import Workflow
|
||||
from .literals import (
|
||||
TEST_WORKFLOW_INITIAL_STATE_LABEL, TEST_WORKFLOW_INITIAL_STATE_COMPLETION,
|
||||
TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT, TEST_WORKFLOW_INTERNAL_NAME,
|
||||
TEST_WORKFLOW_LABEL, TEST_WORKFLOW_STATE_LABEL,
|
||||
TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_TRANSITION_LABEL,
|
||||
TEST_WORKFLOW_TRANSITION_LABEL_2
|
||||
TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED,
|
||||
TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL,
|
||||
TEST_WORKFLOW_STATE_LABEL_EDITED, TEST_WORKFLOW_TRANSITION_LABEL,
|
||||
TEST_WORKFLOW_TRANSITION_LABEL_EDITED, TEST_WORKFLOW_TRANSITION_LABEL_2
|
||||
)
|
||||
|
||||
|
||||
@@ -27,6 +28,41 @@ class WorkflowStateActionTestMixin(object):
|
||||
)
|
||||
|
||||
|
||||
class WorkflowStateViewTestMixin(object):
|
||||
def _request_test_workflow_state_create_view(self, extra_data=None):
|
||||
data = {
|
||||
'label': TEST_WORKFLOW_STATE_LABEL,
|
||||
'completion': TEST_WORKFLOW_STATE_COMPLETION,
|
||||
}
|
||||
if extra_data:
|
||||
data.update(extra_data)
|
||||
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_state_create',
|
||||
kwargs={'pk': self.test_workflow.pk}, data=data
|
||||
)
|
||||
|
||||
def _request_test_workflow_state_delete_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_state_delete',
|
||||
kwargs={'pk': self.test_workflow_state_1.pk}
|
||||
)
|
||||
|
||||
def _request_test_workflow_state_edit_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_state_edit',
|
||||
kwargs={'pk': self.test_workflow_state_1.pk}, data={
|
||||
'label': TEST_WORKFLOW_STATE_LABEL_EDITED
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_state_list_view(self):
|
||||
return self.get(
|
||||
viewname='document_states:setup_workflow_state_list',
|
||||
kwargs={'pk': self.test_workflow.pk}
|
||||
)
|
||||
|
||||
|
||||
class WorkflowTestMixin(object):
|
||||
def _create_test_workflow(self, add_document_type=False):
|
||||
self.test_workflow = Workflow.objects.create(
|
||||
@@ -79,3 +115,84 @@ class WorkflowTestMixin(object):
|
||||
transition=self.test_workflow_transition,
|
||||
user=self._test_case_user
|
||||
)
|
||||
|
||||
|
||||
class WorkflowTransitionViewTestMixin(object):
|
||||
def _request_test_workflow_transition_create_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_transition_create',
|
||||
kwargs={'pk': self.test_workflow.pk}, data={
|
||||
'label': TEST_WORKFLOW_TRANSITION_LABEL,
|
||||
'origin_state': self.test_workflow_state_1.pk,
|
||||
'destination_state': self.test_workflow_state_2.pk,
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_transition_delete_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_transition_delete',
|
||||
kwargs={'pk': self.test_workflow_transition.pk}
|
||||
)
|
||||
|
||||
def _request_test_workflow_transition_edit_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_transition_edit',
|
||||
kwargs={'pk': self.test_workflow_transition.pk}, data={
|
||||
'label': TEST_WORKFLOW_TRANSITION_LABEL_EDITED,
|
||||
'origin_state': self.test_workflow_state_1.pk,
|
||||
'destination_state': self.test_workflow_state_2.pk,
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_transition_list_view(self):
|
||||
return self.get(
|
||||
viewname='document_states:setup_workflow_transition_list',
|
||||
kwargs={'pk': self.test_workflow.pk}
|
||||
)
|
||||
|
||||
def _request_test_workflow_transition(self):
|
||||
return self.post(
|
||||
viewname='document_states:workflow_instance_transition',
|
||||
kwargs={'pk': self.test_workflow_instance.pk}, data={
|
||||
'transition': self.test_workflow_transition.pk,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class WorkflowViewTestMixin(object):
|
||||
def _request_test_workflow_create_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_create', data={
|
||||
'label': TEST_WORKFLOW_LABEL,
|
||||
'internal_name': TEST_WORKFLOW_INTERNAL_NAME,
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_delete_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_delete', kwargs={
|
||||
'pk': self.test_workflow.pk
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_edit_view(self):
|
||||
return self.post(
|
||||
viewname='document_states:setup_workflow_edit', kwargs={
|
||||
'pk': self.test_workflow.pk,
|
||||
}, data={
|
||||
'label': TEST_WORKFLOW_LABEL_EDITED,
|
||||
'internal_name': self.test_workflow.internal_name
|
||||
}
|
||||
)
|
||||
|
||||
def _request_test_workflow_list_view(self):
|
||||
return self.get(
|
||||
viewname='document_states:setup_workflow_list',
|
||||
)
|
||||
|
||||
def _request_test_workflow_preview_view(self):
|
||||
return self.get(
|
||||
viewname='document_states:workflow_preview', kwargs={
|
||||
'pk': self.test_workflow.pk,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user