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