Newer
Older
from opentech.apply.workflow import Phase, Stage, Workflow
from .factories import PhaseFactory, StageFactory, WorkflowFactory
class TestWorkflowCreation(SimpleTestCase):
def test_can_create_workflow(self):
name = 'single_stage'
workflow = Workflow(name, [stage])
self.assertCountEqual(workflow.stages, [stage])
stages = StageFactory.create_batch(2)
workflow = Workflow('two_stage', stages)
for stage, check in zip(workflow, stages):
def test_returns_first_stage_if_no_arg(self):
workflow = WorkflowFactory(num_stages=1)
self.assertEqual(workflow.next(), workflow.stages[0])
def test_returns_none_if_no_next(self):
workflow = WorkflowFactory(num_stages=1)
self.assertEqual(workflow.next(workflow.stages[0]), None)
def test_returns_next_stage(self):
workflow = WorkflowFactory(num_stages=2)
self.assertEqual(workflow.next(workflow.stages[0]), workflow.stages[1])
class TestStageCreation(SimpleTestCase):
def test_can_create_stage(self):
name = 'the_stage'
phases = PhaseFactory.create_batch(2)
stage = Stage(name, form, phases)
class TestPhaseCreation(SimpleTestCase):
def test_can_create_phase(self):
name = 'the_phase'
phase = Phase(name)
self.assertEqual(phase.name, name)