From 278be393bbaf5638a8e492921c09738daa83b0e2 Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Fri, 26 Aug 2022 17:09:43 +0200
Subject: [PATCH] fix: Issue runexperiment sticks in pending

---
 api/src/experiments/experiments.resolver.ts | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/api/src/experiments/experiments.resolver.ts b/api/src/experiments/experiments.resolver.ts
index c96416a..91f57dc 100644
--- a/api/src/experiments/experiments.resolver.ts
+++ b/api/src/experiments/experiments.resolver.ts
@@ -79,9 +79,13 @@ export class ExperimentsResolver {
 
     //if the experiment is transient we wait a connector's response before returning a client's response
     if (isTransient) {
-      const results = await this.engineService.runExperiment(data, req);
+      const expResult = await this.engineService.runExperiment(data, req);
       const expTransient = this.experimentService.dataToExperiment(data, user);
-      return { ...expTransient, results, status: ExperimentStatus.SUCCESS };
+      return {
+        ...expTransient,
+        ...expResult,
+        status: expResult.status ?? ExperimentStatus.SUCCESS, // default status
+      };
     }
 
     //if not transient we will create an experiment in local db
@@ -96,8 +100,8 @@ export class ExperimentsResolver {
       this.experimentService.update(
         experiment.id,
         {
-          status: ExperimentStatus.SUCCESS, // default status
           ...runResult,
+          status: runResult.status ?? ExperimentStatus.SUCCESS, // default status
           finishedAt: new Date().toISOString(),
         },
         user,
-- 
GitLab