From 2b1bb5fb16a3e5f7bc618d56f9c7a8be3f563512 Mon Sep 17 00:00:00 2001 From: iPromKnight Date: Thu, 8 Feb 2024 13:40:53 +0000 Subject: [PATCH] logging service tests --- .../test/configuration_service.test.ts | 2 + .../consumer/test/logging_service.test.ts | 45 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/node/consumer/test/logging_service.test.ts diff --git a/src/node/consumer/test/configuration_service.test.ts b/src/node/consumer/test/configuration_service.test.ts index 0ebc311..fc21c39 100644 --- a/src/node/consumer/test/configuration_service.test.ts +++ b/src/node/consumer/test/configuration_service.test.ts @@ -1,3 +1,5 @@ +import "reflect-metadata"; // required + describe('Configuration Tests', () => { let configurationService; beforeAll(async () => { diff --git a/src/node/consumer/test/logging_service.test.ts b/src/node/consumer/test/logging_service.test.ts new file mode 100644 index 0000000..08ffc41 --- /dev/null +++ b/src/node/consumer/test/logging_service.test.ts @@ -0,0 +1,45 @@ +import "reflect-metadata"; // required +import { LoggingService } from '@services/logging_service'; + +jest.mock('pino', () => { + const actualPino = jest.requireActual('pino'); + return { + ...actualPino, + pino: jest.fn().mockImplementation(() => ({ + info: jest.fn(), + error: jest.fn(), + debug: jest.fn(), + warn: jest.fn(), + })), + }; +}); + +describe('LoggingService', () => { + let service: LoggingService, + mockLogger: any; + + beforeEach(() => { + service = new LoggingService(); + mockLogger = (service as any).logger; + }); + + it('should log info', () => { + service.info('test message', { key: 'value' }); + expect(mockLogger.info).toHaveBeenCalledWith('test message', [{ key: 'value' }]); + }); + + it('should log error', () => { + service.error('test message', { key: 'value' }); + expect(mockLogger.error).toHaveBeenCalledWith('test message', [{ key: 'value' }]); + }); + + it('should log debug', () => { + service.debug('test message', { key: 'value' }); + expect(mockLogger.debug).toHaveBeenCalledWith('test message', [{ key: 'value' }]); + }); + + it('should log warn', () => { + service.warn('test message', { key: 'value' }); + expect(mockLogger.warn).toHaveBeenCalledWith('test message', [{ key: 'value' }]); + }) +}); \ No newline at end of file