diff --git a/services/capability/capability/views/capability_request.py b/services/capability/capability/views/capability_request.py
index bac44321971333f3a48aef57c377d1f1149a61ff..1454355f1dfc3e6e6890e12df51345140d257cbc 100644
--- a/services/capability/capability/views/capability_request.py
+++ b/services/capability/capability/views/capability_request.py
@@ -106,4 +106,4 @@ def submit_capability_request(request: Request) -> Response:
         return HTTPPreconditionFailed(detail=does_not_exist_msg)
     else:
         execution = request.capability_service.run_capability(capability_request)
-        return Response(body=execution.__json__())
+        return Response(json_body=execution.__json__())
diff --git a/services/capability/test/conftest.py b/services/capability/test/conftest.py
index 2bfa0ab2927f4c768fde4932230baf5dd22b7c4b..9f4facfb05d3ea3243c9ac50f1652399faec5815 100644
--- a/services/capability/test/conftest.py
+++ b/services/capability/test/conftest.py
@@ -5,10 +5,11 @@ import pytest
 from pyramid.config import Configurator
 from pyramid.testing import DummyRequest, setUp, tearDown
 
-from workspaces.capability.enums import CapabilityRequestState
+from workspaces.capability.enums import CapabilityRequestState, ExecutionState
 from workspaces.capability.helpers import Parameter
 from workspaces.capability.schema import (
     Capability,
+    CapabilityExecution,
     CapabilityRequest,
     CapabilityVersion,
 )
@@ -58,6 +59,7 @@ class MockCapabilityInfo(MagicMock):
             versions=[],
         )
     ]
+    capability_executions = []
 
     def edit_capability(
         self, name: str, steps: str = None, max_jobs: int = None, enabled: bool = None
@@ -94,6 +96,9 @@ class MockCapabilityInfo(MagicMock):
         elif type(entity) is CapabilityRequest:
             entity.id = len(self.capability_requests)
             self.capability_requests.append(entity)
+        elif type(entity) is CapabilityExecution:
+            entity.id = len(self.capability_executions)
+            self.capability_executions.append(entity)
 
 
 class MockCapabilityService(MagicMock):
@@ -127,6 +132,27 @@ class MockCapabilityService(MagicMock):
         self.capability_info.save_entity(request)
         return request
 
+    def run_capability(self, capability_request: CapabilityRequest) -> CapabilityExecution:
+        """
+        Mock run_capability method
+
+        :param capability_request: Request to make an execution for
+        :return: Mocked execution
+        """
+        execution = CapabilityExecution(
+            state=ExecutionState.Ready.name,
+            version=CapabilityVersion(
+                capability_request_id=capability_request.id,
+                version_number=1,
+                parameters=capability_request.parameters,
+                request=capability_request,
+            ),
+            current_step=0,
+            steps="test",
+        )
+        self.capability_info.save_entity(execution)
+        return execution
+
 
 @pytest.fixture(scope="module")
 def request_null_capability() -> DummyRequest:
diff --git a/services/capability/test/test_capability_request_views.py b/services/capability/test/test_capability_request_views.py
index 6d546e42e76994ae41c4c3a51057bb971f715052..8565d6d41d9d43e044ee125855c435593a59cae7 100644
--- a/services/capability/test/test_capability_request_views.py
+++ b/services/capability/test/test_capability_request_views.py
@@ -98,3 +98,40 @@ def test_create_capability_request_error(
     response_does_not_exist = create_capability_request(request_null_capability)
     assert response_does_not_exist.status_code == 412
     assert type(response_does_not_exist) is HTTPPreconditionFailed
+
+
+def test_submit_capability_request(
+    test_config: Configurator, request_null_capability: DummyRequest
+):
+    """
+    Tests that the submit_capability_request view correctly executes its logic
+
+    :param test_config: Dummy Pyramid Configurator object set up for testing
+    :param request_null_capability: Dummy Pyramid request object set up with mocked DB access
+    supporting the null capability
+    """
+    from capability.views.capability_request import submit_capability_request
+
+    request_null_capability.matchdict["capability_name"] = "null"
+    request_null_capability.matchdict["request_id"] = 0
+    response = submit_capability_request(request_null_capability)
+    assert response.status_code == 200
+
+
+def test_submit_capability_request_error(
+    test_config: Configurator, request_null_capability: DummyRequest
+):
+    """
+    Tests that the submit_capability_request view correctly executes its logic
+
+    :param test_config: Dummy Pyramid Configurator object set up for testing
+    :param request_null_capability: Dummy Pyramid request object set up with mocked DB access
+    supporting the null capability
+    """
+    from capability.views.capability_request import submit_capability_request
+
+    request_null_capability.matchdict["capability_name"] = "null"
+    request_null_capability.matchdict["request_id"] = -1
+    response = submit_capability_request(request_null_capability)
+    assert response.status_code == 412
+    assert type(response) is HTTPPreconditionFailed