From 2a2bea69716a714e1ef90b834336588be49cd961 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Fri, 13 Oct 2023 13:43:59 +0200
Subject: [PATCH] AssignmentValidator => Add fatalErrorMessage property

---
 helpers/Dojo/AssignmentValidator.ts | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/helpers/Dojo/AssignmentValidator.ts b/helpers/Dojo/AssignmentValidator.ts
index a4d33b2..3de36ad 100644
--- a/helpers/Dojo/AssignmentValidator.ts
+++ b/helpers/Dojo/AssignmentValidator.ts
@@ -26,6 +26,7 @@ class AssignmentValidator {
     public isFinished: boolean = false;
     public success: boolean = false;
     public exitCode: number = -1;
+    public fatalErrorMessage: string = '';
 
     constructor(private folderAssignment: string) {
         this.events.on('logs', (log: string, _error: boolean, displayable: boolean) => {
@@ -46,6 +47,8 @@ class AssignmentValidator {
             let assignmentFile: AssignmentFile;
 
             const emitError = (subStepName: string, subStepMessage: string, stepName: string, stepMessage: string, code: AssignmentCheckerError) => {
+                this.fatalErrorMessage = stepMessage;
+
                 this.events.emit('endSubStep', subStepName, subStepMessage, true);
                 this.events.emit('endStep', stepName, stepMessage, true);
                 this.events.emit('finished', false, code);
@@ -240,8 +243,10 @@ class AssignmentValidator {
                         exerciseDockerCompose.run(doDown);
                     });
                 } catch ( error ) {
-                    this.events.emit('endStep', 'ASSIGNMENT_RUN', 'Assignment is already solved', true);
+                    this.fatalErrorMessage = 'Assignment is already solved';
+                    this.events.emit('endStep', 'ASSIGNMENT_RUN', this.fatalErrorMessage, true);
                     this.events.emit('finished', false, AssignmentCheckerError.COMPOSE_RUN_SUCCESSFULLY);
+                    return;
                 }
 
 
-- 
GitLab