updating logger tests
This commit is contained in:
parent
b52765ecd8
commit
e76489e8f3
6 changed files with 358 additions and 1089 deletions
100
libs/logger/test/advanced.test.ts
Normal file
100
libs/logger/test/advanced.test.ts
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
* Logger Basic Tests
|
||||
*
|
||||
* Simple tests for the simplified logger functionality.
|
||||
*/
|
||||
|
||||
import { describe, it, expect, beforeEach } from 'bun:test';
|
||||
import { Logger, getLogger } from '../src';
|
||||
import { loggerTestHelpers } from './setup';
|
||||
|
||||
describe('Logger Basic Tests', () => {
|
||||
let logger: Logger;
|
||||
|
||||
beforeEach(() => {
|
||||
logger = loggerTestHelpers.createTestLogger('basic-test');
|
||||
loggerTestHelpers.clearCapturedLogs();
|
||||
});
|
||||
|
||||
describe('Basic Logging', () => {
|
||||
it('should create logger instances', () => {
|
||||
expect(logger).toBeDefined();
|
||||
expect(typeof logger.info).toBe('function');
|
||||
expect(typeof logger.error).toBe('function');
|
||||
expect(typeof logger.warn).toBe('function');
|
||||
expect(typeof logger.debug).toBe('function');
|
||||
});
|
||||
|
||||
it('should log simple messages', () => {
|
||||
logger.info('Test message');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].msg).toBe('Test message');
|
||||
expect(logs[0].level).toBe('info');
|
||||
});
|
||||
|
||||
it('should include service name in logs', () => {
|
||||
logger.info('Service test');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].service).toBe('basic-test');
|
||||
});
|
||||
|
||||
it('should handle multiple log levels', () => {
|
||||
logger.debug('Debug level');
|
||||
logger.info('Info level');
|
||||
logger.warn('Warn level');
|
||||
logger.error('Error level');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(4);
|
||||
|
||||
const levels = logs.map(log => log.level);
|
||||
expect(levels).toEqual(['debug', 'info', 'warn', 'error']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Context and Metadata', () => {
|
||||
it('should include metadata in logs', () => {
|
||||
const metadata = { userId: '123', action: 'test' };
|
||||
logger.info('User action', metadata);
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].userId).toBe('123');
|
||||
expect(logs[0].action).toBe('test');
|
||||
});
|
||||
|
||||
it('should support child loggers', () => {
|
||||
const childLogger = logger.child({ requestId: 'req-456' });
|
||||
childLogger.info('Child log message');
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].msg).toBe('Child log message');
|
||||
});
|
||||
});
|
||||
|
||||
describe('Error Logging', () => {
|
||||
it('should log errors with error metadata', () => {
|
||||
const error = new Error('Test error');
|
||||
logger.error('Error occurred', { error });
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].level).toBe('error');
|
||||
expect(logs[0].msg).toBe('Error occurred');
|
||||
});
|
||||
|
||||
it('should handle error-like objects', () => {
|
||||
const errorLike = { name: 'CustomError', message: 'Custom message' };
|
||||
logger.error('Custom error', { error: errorLike });
|
||||
|
||||
const logs = loggerTestHelpers.getCapturedLogs();
|
||||
expect(logs.length).toBe(1);
|
||||
expect(logs[0].level).toBe('error');
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue