From a05f4cae51c3507e465358a0e6730a96b3538d2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marl=C3=A8ne=20SIMONDANT?= <msimondant@grandlyon.com>
Date: Thu, 20 Jan 2022 08:50:31 +0000
Subject: [PATCH] feature(version): Add app version to healthcheck

---
 src/app.controller.spec.ts | 10 +++++++---
 src/app.controller.ts      |  3 +++
 tsconfig.json              |  1 +
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/app.controller.spec.ts b/src/app.controller.spec.ts
index 3480e92e4..5d49f9369 100644
--- a/src/app.controller.spec.ts
+++ b/src/app.controller.spec.ts
@@ -12,9 +12,13 @@ describe('AppController', () => {
   describe('healthcheck', () => {
     it('should return "Hello World!"', async () => {
       const appController = app.get<AppController>(AppController);
-      const result = { status: 'API Online', uptime: 1 };
-      jest.spyOn(appController, 'healthcheck').mockImplementation(async (): Promise<{ status; uptime }> => result);
-      expect(await appController.healthcheck()).toBe(result);
+      const result = { status: 'API Online', uptime: 1, version: '' };
+      jest
+        .spyOn(appController, 'healthcheck')
+        .mockImplementation(async (): Promise<{ status; uptime; version }> => result);
+      const healthcheck = await appController.healthcheck();
+      expect(healthcheck.status).toBe(result.status);
+      expect(healthcheck.uptime).toBe(result.uptime);
     });
   });
 });
diff --git a/src/app.controller.ts b/src/app.controller.ts
index e320ef39b..c39cadb3a 100644
--- a/src/app.controller.ts
+++ b/src/app.controller.ts
@@ -1,7 +1,9 @@
 import { Controller, Get } from '@nestjs/common';
+import { version } from '../package.json';
 @Controller()
 export class AppController {
   private start: number;
+  private version: string = version;
 
   constructor() {
     this.start = Date.now();
@@ -13,6 +15,7 @@ export class AppController {
     return {
       status: 'API Online',
       uptime: Number((now - this.start) / 1000).toFixed(0),
+      version: version,
     };
   }
 }
diff --git a/tsconfig.json b/tsconfig.json
index bf10a2398..2153976c4 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,6 +6,7 @@
     "emitDecoratorMetadata": true,
     "experimentalDecorators": true,
     "allowSyntheticDefaultImports": true,
+    "resolveJsonModule": true,
     "target": "es2017",
     "sourceMap": true,
     "outDir": "./dist",
-- 
GitLab