From b22af10834e18c944606d5822b4446467792fbf8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Fri, 13 Oct 2023 13:44:33 +0200
Subject: [PATCH] AssignmentHelper => Add displayExecutionResult function

---
 helpers/Dojo/ClientsSharedAssignmentHelper.ts | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 helpers/Dojo/ClientsSharedAssignmentHelper.ts

diff --git a/helpers/Dojo/ClientsSharedAssignmentHelper.ts b/helpers/Dojo/ClientsSharedAssignmentHelper.ts
new file mode 100644
index 0000000..4e834d3
--- /dev/null
+++ b/helpers/Dojo/ClientsSharedAssignmentHelper.ts
@@ -0,0 +1,27 @@
+import chalk               from 'chalk';
+import boxen               from 'boxen';
+import Icon                from '../../types/Icon';
+import AssignmentValidator from './AssignmentValidator';
+
+
+class ClientsSharedAssignmentHelper {
+    displayExecutionResults(validator: AssignmentValidator, successMessage: string, Style: { INFO: chalk.Chalk, SUCCESS: chalk.Chalk, FAILURE: chalk.Chalk }) {
+        const finalLogGlobalResult = `${ Style.INFO('Global result') } : ${ validator.success ? Style.SUCCESS(`${ Icon.SUCCESS } Success`) : Style.FAILURE(`${ Icon.FAILURE } Failure`) }`;
+
+        const finalLogSuccessMessage = validator.success ? `${ successMessage }` : '';
+        const finalLogErrorMessage = !validator.success ? `${ Style.INFO('Error message') } :\n${ Style.FAILURE(validator.fatalErrorMessage) }` : '';
+
+        console.log(boxen(`${ finalLogGlobalResult }\n\n${ finalLogSuccessMessage }${ finalLogErrorMessage }`, {
+            title         : 'Results',
+            titleAlignment: 'center',
+            borderColor   : validator.success ? 'green' : 'red',
+            borderStyle   : 'bold',
+            margin        : 1,
+            padding       : 1,
+            textAlignment : 'left'
+        }));
+    }
+}
+
+
+export default new ClientsSharedAssignmentHelper();
\ No newline at end of file
-- 
GitLab