Skip to content
Snippets Groups Projects
Commit 7b27431d authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Add a form to the stage

parent 8ef5e847
No related branches found
No related tags found
No related merge requests found
from django.test import SimpleTestCase
from django.forms import Form
from .workflow import Workflow, Stage
......@@ -6,7 +7,7 @@ from .workflow import Workflow, Stage
class TestWorkflowCreation(SimpleTestCase):
def test_can_create_workflow(self):
name = 'single_stage'
stage = Stage('stage_name')
stage = Stage('stage_name', Form())
workflow = Workflow(name, stage)
self.assertEqual(workflow.name, name)
self.assertCountEqual(workflow.stages, [stage])
......@@ -17,8 +18,8 @@ class TestWorkflowCreation(SimpleTestCase):
Workflow(name)
def test_can_iterate_through_workflow(self):
stage1 = Stage('stage_one')
stage2 = Stage('stage_two')
stage1 = Stage('stage_one', Form())
stage2 = Stage('stage_two', Form())
workflow = Workflow('two_stage', stage1, stage2)
for stage, check in zip(workflow, [stage1, stage2]):
self.assertEqual(stage, check)
......@@ -27,5 +28,7 @@ class TestWorkflowCreation(SimpleTestCase):
class TestStageCreation(SimpleTestCase):
def test_can_create_stage(self):
name = 'the_stage'
stage = Stage(name)
form = Form()
stage = Stage(name, form)
self.assertEqual(stage.name, name)
self.assertEqual(stage.form, form)
from typing import Iterator, Iterable
from django.forms import Form
class Workflow(Iterable['Stage']):
def __init__(self, name: str, *stages: 'Stage') -> None:
......@@ -13,5 +15,6 @@ class Workflow(Iterable['Stage']):
class Stage:
def __init__(self, name: str) -> None:
def __init__(self, name: str, form: Form) -> None:
self.name = name
self.form = form
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment