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