From dc73230815e01bebcd0693acc56f126a2c3bb69e Mon Sep 17 00:00:00 2001
From: Todd Dembrey <todd.dembrey@torchbox.com>
Date: Thu, 14 Dec 2017 09:34:20 +0000
Subject: [PATCH] Allow iterating through the stage

---
 opentech/apply/tests/test_workflow.py | 5 +++++
 opentech/apply/workflow.py            | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/opentech/apply/tests/test_workflow.py b/opentech/apply/tests/test_workflow.py
index 72f9ad0fc..213420444 100644
--- a/opentech/apply/tests/test_workflow.py
+++ b/opentech/apply/tests/test_workflow.py
@@ -43,6 +43,11 @@ class TestStageCreation(SimpleTestCase):
         self.assertEqual(stage.form, form)
         self.assertEqual(stage.phases, phases)
 
+    def test_can_iterate_through_phases(self):
+        stage = StageFactory()
+        for phase, check in zip(stage, stage.phases):
+            self.assertEqual(phase, check)
+
 
 class TestPhaseCreation(SimpleTestCase):
     def test_can_create_phase(self):
diff --git a/opentech/apply/workflow.py b/opentech/apply/workflow.py
index 882208b35..414978eb5 100644
--- a/opentech/apply/workflow.py
+++ b/opentech/apply/workflow.py
@@ -31,6 +31,9 @@ class Stage:
         self.form = form
         self.phases = phases
 
+    def __iter__(self) -> Iterator['Phase']:
+        yield from self.phases
+
 
 class Phase:
     def __init__(self, name: str) -> None:
-- 
GitLab