From cc60ff142a27e689b797be22e4e7f99186e26350 Mon Sep 17 00:00:00 2001
From: stevereis <stevereis93@gmail.com>
Date: Sat, 8 Apr 2023 16:15:19 +0200
Subject: [PATCH] fix(exareme2): Anova one way missing categories

---
 .../algorithms/anova-one-way.handler.ts       | 23 +++++++++----------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/anova-one-way.handler.ts b/api/src/engine/connectors/exareme/handlers/algorithms/anova-one-way.handler.ts
index b464ea1..f44475d 100644
--- a/api/src/engine/connectors/exareme/handlers/algorithms/anova-one-way.handler.ts
+++ b/api/src/engine/connectors/exareme/handlers/algorithms/anova-one-way.handler.ts
@@ -130,21 +130,20 @@ export default class AnovaOneWayHandler extends BaseHandler {
     if (variable) result.anova_table.y_label = variable.label ?? variable.id;
     if (coVariate) result.anova_table.x_label = coVariate.label ?? coVariate.id;
 
+    result.categories = {};
+
     if (coVariate && coVariate.enumerations) {
-      result.categories = coVariate.enumerations.reduce((p, e) => {
-        p[e.value] = e.label ?? e.value;
-        return p;
-      }, {});
-    } else {
-      result.categories = result['min_max_per_group']['categories'].reduce(
-        (p: { [x: string]: string }, e: string) => {
-          p[e] = e;
-          return p;
-        },
-        {},
-      );
+      coVariate.enumerations.forEach((cat) => {
+        result.categories[cat.value] = cat.label ?? cat.value;
+      });
     }
 
+    result['min_max_per_group']['categories'].map((cat: string) => {
+      if (!result.categories[cat]) {
+        result.categories[cat] = cat;
+      }
+    });
+
     const summaryTable = this.getSummaryTable(
       result,
       result.anova_table.x_label,
-- 
GitLab