diff --git a/force_bdss/cli/tests/test_execution.py b/force_bdss/cli/tests/test_execution.py
index d511f79f6f2a4b0a806b12bc50e7c02c216c237d..80f3c878f91a050fa71b4ec04b81bf8e82486d2a 100644
--- a/force_bdss/cli/tests/test_execution.py
+++ b/force_bdss/cli/tests/test_execution.py
@@ -3,6 +3,8 @@ import subprocess
 import os
 from contextlib import contextmanager
 
+from force_bdss.tests import fixtures
+
 
 @contextmanager
 def cd(dir):
@@ -22,17 +24,17 @@ def fixture_dir():
 
 class TestExecution(unittest.TestCase):
     def test_plain_invocation_mco(self):
-        with cd(fixture_dir()):
+        with cd(fixtures.dirpath()):
             out = subprocess.check_call(["force_bdss", "test_csv.json"])
             self.assertEqual(out, 0)
 
     def test_unsupported_file_input(self):
-        with cd(fixture_dir()):
+        with cd(fixtures.dirpath()):
             with self.assertRaises(subprocess.CalledProcessError):
                 subprocess.check_call(["force_bdss", "test_csv_v2.json"])
 
     def test_corrupted_file_input(self):
-        with cd(fixture_dir()):
+        with cd(fixtures.dirpath()):
             with self.assertRaises(subprocess.CalledProcessError):
                 subprocess.check_call(["force_bdss",
                                        "test_csv_corrupted.json"])
diff --git a/force_bdss/io/workflow_reader.py b/force_bdss/io/workflow_reader.py
index 5b4dab2e9aafdb8ab7e0d85a045dc7e171a7b09c..643da8c303b89fc8bb52255c1d66659b1e733cf9 100644
--- a/force_bdss/io/workflow_reader.py
+++ b/force_bdss/io/workflow_reader.py
@@ -47,14 +47,15 @@ class WorkflowReader(HasStrictTraits):
         wf = Workflow()
 
         try:
-            workflow_data = json_data["workflow"]
-            wf.multi_criteria_optimizer = self._extract_mco(workflow_data)
-            wf.data_sources[:] = self._extract_data_sources(workflow_data)
-            wf.kpi_calculators[:] = self._extract_kpi_calculators(workflow_data)
+            wf_data = json_data["workflow"]
+            wf.multi_criteria_optimizer = self._extract_mco(wf_data)
+            wf.data_sources[:] = self._extract_data_sources(wf_data)
+            wf.kpi_calculators[:] = self._extract_kpi_calculators(wf_data)
         except KeyError as e:
             logging.exception("Could not read file")
             raise InvalidFileException("Could not read file. "
                                        "Unable to find key {}".format(e))
+        return wf
 
     def _extract_mco(self, json_data):
         registry = self.bundle_registry
diff --git a/force_bdss/tests/fixtures/__init__.py b/force_bdss/tests/fixtures/__init__.py
index 1c5217a644894c316685b8c0a509c29173d760a8..8ad2b16ba9831f5cd9f3b37cbe8890a6afa7b711 100644
--- a/force_bdss/tests/fixtures/__init__.py
+++ b/force_bdss/tests/fixtures/__init__.py
@@ -2,4 +2,8 @@ from os.path import join, dirname, abspath
 
 
 def get(filename):
-    return join(dirname(abspath(__file__)), filename)
+    return join(dirpath(), filename)
+
+
+def dirpath():
+    return dirname(abspath(__file__))