Files
backend/src/common/logging/structured-logger.service.spec.ts
T
2026-08-14 17:12:15 +03:00

45 lines
1.2 KiB
TypeScript

import { StructuredLogger } from './structured-logger.service';
describe('StructuredLogger', () => {
const context = { get: jest.fn() };
const pino = {
debug: jest.fn(),
info: jest.fn(),
warn: jest.fn(),
error: jest.fn(),
};
beforeEach(() => jest.clearAllMocks());
it('passes only allowlisted fields to Pino', () => {
context.get.mockReturnValue({ requestId: 'request', token: 'secret' });
const logger = new StructuredLogger(context as never, pino as never);
logger.info('event', {
userId: 'user',
brokerageAccountId: 'account',
password: 'secret',
});
expect(pino.info).toHaveBeenCalledWith(
{
requestId: 'request',
userId: 'user',
brokerageAccountId: 'account',
},
'event',
);
});
it('delegates event levels to Pino', () => {
context.get.mockReturnValue(undefined);
const logger = new StructuredLogger(context as never, pino as never);
logger.event('debug', 'debug event');
logger.event('warn', 'warn event');
expect(pino.debug).toHaveBeenCalledWith({}, 'debug event');
expect(pino.warn).toHaveBeenCalledWith({}, 'warn event');
});
});