From 0304394d7aff2cb1ed43bc3f2a7021de1e55eae7 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Tue, 12 Dec 2017 10:33:23 +0000 Subject: [PATCH] Ensure stages are supplied --- opentech/apply/tests.py | 9 ++++++++- opentech/apply/workflow.py | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/opentech/apply/tests.py b/opentech/apply/tests.py index 1d23399c6..423b87a20 100644 --- a/opentech/apply/tests.py +++ b/opentech/apply/tests.py @@ -6,8 +6,15 @@ from .workflow import Workflow, Stage class TestWorkflowCreation(SimpleTestCase): def test_can_create_workflow(self): name = 'single_stage' - workflow = Workflow(name) + stage = Stage('stage_name') + workflow = Workflow(name, stage) self.assertEqual(workflow.name, name) + self.assertCountEqual(workflow.stages, [stage]) + + def test_stages_required_for_workflow(self): + name = 'single_stage' + with self.assertRaises(ValueError): + Workflow(name) class TestStageCreation(SimpleTestCase): diff --git a/opentech/apply/workflow.py b/opentech/apply/workflow.py index 069be6123..5b0cbde8c 100644 --- a/opentech/apply/workflow.py +++ b/opentech/apply/workflow.py @@ -1,6 +1,9 @@ class Workflow: - def __init__(self, name): + def __init__(self, name, *stages): self.name = name + if not stages: + raise ValueError('Stages must be supplied') + self.stages = stages class Stage: -- GitLab