From d1823095b24a41eb716b65004dca88eafcb7102d Mon Sep 17 00:00:00 2001
From: Piotr Gawron <p.gawron@atcomp.pl>
Date: Thu, 16 May 2024 11:56:34 +0200
Subject: [PATCH] provide minerva version in report data

---
 src/utils/error-report/errorReporting.test.ts | 12 ++++++++++++
 src/utils/error-report/errorReporting.ts      |  4 +++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/utils/error-report/errorReporting.test.ts b/src/utils/error-report/errorReporting.test.ts
index 7adb535c..3215452d 100644
--- a/src/utils/error-report/errorReporting.test.ts
+++ b/src/utils/error-report/errorReporting.test.ts
@@ -7,6 +7,8 @@ import { userPrivilegesFixture } from '@/models/fixtures/userPrivilegesFixture';
 import { login } from '@/redux/user/user.thunks';
 import { mockNetworkResponse } from '@/utils/mockNetworkResponse';
 import { store } from '@/redux/store';
+import { getConfiguration } from '@/redux/configuration/configuration.thunks';
+import { configurationFixture } from '@/models/fixtures/configurationFixture';
 
 const mockedAxiosClient = mockNetworkResponse();
 
@@ -52,4 +54,14 @@ describe('createErrorData', () => {
     const error = createErrorData(new Error());
     expect(error.timestamp).not.toBeNull();
   });
+
+  it('should add version', async () => {
+    mockedAxiosClient
+      .onGet(apiPath.getConfiguration())
+      .reply(HttpStatusCode.Ok, configurationFixture);
+    await store.dispatch(getConfiguration());
+
+    const error = createErrorData(new Error());
+    expect(error.version).not.toBeNull();
+  });
 });
diff --git a/src/utils/error-report/errorReporting.ts b/src/utils/error-report/errorReporting.ts
index f5bf2057..f10be545 100644
--- a/src/utils/error-report/errorReporting.ts
+++ b/src/utils/error-report/errorReporting.ts
@@ -14,6 +14,8 @@ export const createErrorData = (error: Error | SerializedError | undefined): Err
   if (!login) {
     login = 'anonymous';
   }
+  const configuration = store.getState().configuration.main.data;
+  const version = configuration ? configuration.version : null;
 
   return {
     url: window.location.href,
@@ -24,7 +26,7 @@ export const createErrorData = (error: Error | SerializedError | undefined): Err
     javaStacktrace: null, // TODO
     stacktrace,
     timestamp: Math.floor(+new Date() / ONE_THOUSAND),
-    version: null, // TODO
+    version,
   };
 };
 
-- 
GitLab