trying to figure out the issue with logger tests
This commit is contained in:
parent
6aa63a8b59
commit
d836e766d5
5 changed files with 127 additions and 93 deletions
|
|
@ -10,14 +10,15 @@ import { loggerTestHelpers } from './setup';
|
|||
|
||||
describe('Basic Logger Tests', () => {
|
||||
let logger: Logger;
|
||||
let testLoggerInstance: ReturnType<typeof loggerTestHelpers.createTestLogger>;
|
||||
|
||||
beforeEach(() => {
|
||||
loggerTestHelpers.clearCapturedLogs();
|
||||
logger = loggerTestHelpers.createTestLogger('utils-test');
|
||||
testLoggerInstance = loggerTestHelpers.createTestLogger('utils-test');
|
||||
logger = testLoggerInstance.logger;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
loggerTestHelpers.clearCapturedLogs();
|
||||
testLoggerInstance.clearCapturedLogs();
|
||||
});
|
||||
|
||||
describe('Logger Factory Functions', () => {
|
||||
|
|
@ -26,8 +27,8 @@ describe('Basic Logger Tests', () => {
|
|||
|
||||
// Test that getLogger doesn't throw
|
||||
expect(() => {
|
||||
const testLogger = loggerTestHelpers.createTestLogger('factory-test');
|
||||
testLogger.info('Factory test');
|
||||
const anotherTestLoggerInstance = loggerTestHelpers.createTestLogger('factory-test');
|
||||
anotherTestLoggerInstance.logger.info('Factory test');
|
||||
}).not.toThrow();
|
||||
});
|
||||
|
||||
|
|
@ -55,7 +56,7 @@ describe('Basic Logger Tests', () => {
|
|||
// Object message
|
||||
logger.info({ event: 'object_message', data: 'test' });
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(2);
|
||||
expect(logs[0].msg).toBe('String message');
|
||||
expect(logs[1].level).toBe('info');
|
||||
|
|
@ -70,7 +71,7 @@ describe('Basic Logger Tests', () => {
|
|||
|
||||
logger.info('Request processed', metadata);
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].userId).toBe('user123');
|
||||
expect(logs[0].sessionId).toBe('session456');
|
||||
|
|
@ -87,7 +88,7 @@ describe('Basic Logger Tests', () => {
|
|||
|
||||
childLogger.info('Payment processed');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].msg).toBe('Payment processed');
|
||||
});
|
||||
|
|
@ -96,7 +97,7 @@ describe('Basic Logger Tests', () => {
|
|||
const childLogger = logger.child({ operation: 'test' });
|
||||
childLogger.info('Child operation');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].service).toBe('utils-test');
|
||||
});
|
||||
|
|
@ -109,7 +110,7 @@ describe('Basic Logger Tests', () => {
|
|||
|
||||
logger.error('Error test', error);
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].level).toBe('error');
|
||||
});
|
||||
|
|
@ -123,7 +124,7 @@ describe('Basic Logger Tests', () => {
|
|||
|
||||
logger.error('Validation failed', { error: errorLike });
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].level).toBe('error');
|
||||
});
|
||||
|
|
@ -131,7 +132,7 @@ describe('Basic Logger Tests', () => {
|
|||
it('should handle primitive error values', () => {
|
||||
logger.error('Simple error', { error: 'Error string' });
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].level).toBe('error');
|
||||
});
|
||||
|
|
@ -144,7 +145,7 @@ describe('Basic Logger Tests', () => {
|
|||
logger.warn('Warn message');
|
||||
logger.error('Error message');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
const logs = testLoggerInstance.getCapturedLogs();
|
||||
expect(logs.length).toBe(4);
|
||||
|
||||
logs.forEach(log => {
|
||||
|
|
@ -153,16 +154,22 @@ describe('Basic Logger Tests', () => {
|
|||
});
|
||||
|
||||
it('should support different service names', () => {
|
||||
const logger1 = loggerTestHelpers.createTestLogger('service-one');
|
||||
const logger2 = loggerTestHelpers.createTestLogger('service-two');
|
||||
const logger1Instance = loggerTestHelpers.createTestLogger('service-one');
|
||||
const logger2Instance = loggerTestHelpers.createTestLogger('service-two');
|
||||
|
||||
logger1.info('Message from service one');
|
||||
logger2.info('Message from service two');
|
||||
logger1Instance.logger.info('Message from service one');
|
||||
logger2Instance.logger.info('Message from service two');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(2);
|
||||
expect(logs[0].service).toBe('service-one');
|
||||
expect(logs[1].service).toBe('service-two');
|
||||
// Since each logger instance has its own capture, we check them separately
|
||||
// or combine them if that's the desired test logic.
|
||||
// For this test, it seems we want to ensure they are separate.
|
||||
const logs1 = logger1Instance.getCapturedLogs();
|
||||
expect(logs1.length).toBe(1);
|
||||
expect(logs1[0].service).toBe('service-one');
|
||||
|
||||
const logs2 = logger2Instance.getCapturedLogs();
|
||||
expect(logs2.length).toBe(1);
|
||||
expect(logs2[0].service).toBe('service-two');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue