@@ -3,6 +3,8 @@ import { HealthCheckService } from './health-check.service';
3
3
import { HealthCheckExecutor } from './health-check-executor.service' ;
4
4
import { ERROR_LOGGER } from './error-logger/error-logger.provider' ;
5
5
import { ErrorLogger } from './error-logger/error-logger.interface' ;
6
+ import { TERMINUS_LOGGER } from './logger/logger.provider' ;
7
+ import { ConsoleLogger } from '@nestjs/common' ;
6
8
7
9
const healthCheckExecutorMock : Partial < HealthCheckExecutor > = {
8
10
execute : jest . fn ( ) ,
@@ -12,9 +14,19 @@ const errorLoggerMock: ErrorLogger = {
12
14
getErrorMessage : jest . fn ( ) ,
13
15
} ;
14
16
17
+ const loggerMock : Partial < ConsoleLogger > = {
18
+ setContext : jest . fn ( ) ,
19
+ log : jest . fn ( ) ,
20
+ error : jest . fn ( ) ,
21
+ warn : jest . fn ( ) ,
22
+ debug : jest . fn ( ) ,
23
+ } ;
24
+
15
25
describe ( 'HealthCheckService' , ( ) => {
16
26
let healthCheckExecutor : HealthCheckExecutor ;
17
27
let healthCheckService : HealthCheckService ;
28
+ let logger : ConsoleLogger ;
29
+ let errorLogger : ErrorLogger ;
18
30
19
31
beforeEach ( async ( ) => {
20
32
const module = Test . createTestingModule ( {
@@ -28,12 +40,18 @@ describe('HealthCheckService', () => {
28
40
provide : ERROR_LOGGER ,
29
41
useValue : errorLoggerMock ,
30
42
} ,
43
+ {
44
+ provide : TERMINUS_LOGGER ,
45
+ useValue : loggerMock ,
46
+ } ,
31
47
] ,
32
48
} ) ;
33
49
const context = await module . compile ( ) ;
34
50
35
51
healthCheckService = context . get ( HealthCheckService ) ;
36
52
healthCheckExecutor = context . get ( HealthCheckExecutor ) ;
53
+ logger = context . get ( TERMINUS_LOGGER ) ;
54
+ errorLogger = context . get ( ERROR_LOGGER ) ;
37
55
} ) ;
38
56
39
57
it ( 'should return the result' , async ( ) => {
@@ -55,4 +73,17 @@ describe('HealthCheckService', () => {
55
73
expect ( ( error as any ) . status ) . toBe ( 503 ) ;
56
74
}
57
75
} ) ;
76
+
77
+ it ( 'should print an error message' , async ( ) => {
78
+ ( healthCheckExecutor . execute as jest . Mock ) . mockReturnValue ( {
79
+ status : 'error' ,
80
+ } ) ;
81
+ ( errorLogger . getErrorMessage as jest . Mock ) . mockReturnValue ( 'error message' ) ;
82
+
83
+ try {
84
+ await healthCheckService . check ( [ ( ) => Promise . resolve ( { } ) ] ) ;
85
+ } catch ( error ) {
86
+ expect ( logger . error ) . toHaveBeenCalledWith ( 'error message' ) ;
87
+ }
88
+ } ) ;
58
89
} ) ;
0 commit comments