Files
logger/tests/LoggingLevelMapping.test.ts

95 lines
3.8 KiB
TypeScript

import { describe, it, expect } from 'bun:test';
import LoggingLevelMapping from '../src/level/LoggingLevelMapping';
import { LoggingLevel, LoggingLevelType } from '../src/level/LoggingLevel';
describe('LoggingLevelMapping', () => {
describe('convertLoggingLevelToLoggingLevelType', () => {
it('should convert LoggingLevel.Off to "Off"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Off)).toBe('Off');
});
it('should convert LoggingLevel.Debug to "Debug"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Debug)).toBe('Debug');
});
it('should convert LoggingLevel.Trace to "Trace"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Trace)).toBe('Trace');
});
it('should convert LoggingLevel.Info to "Info"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Info)).toBe('Info');
});
it('should convert LoggingLevel.Silly to "Silly"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Silly)).toBe('Silly');
});
it('should convert LoggingLevel.Warn to "Warn"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Warn)).toBe('Warn');
});
it('should convert LoggingLevel.Error to "Error"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.Error)).toBe('Error');
});
it('should convert LoggingLevel.All to "All"', () => {
expect(LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(LoggingLevel.All)).toBe('All');
});
});
describe('convertLoggingLevelTypeToLoggingLevel', () => {
it('should convert "Off" to LoggingLevel.Off', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Off')).toBe(LoggingLevel.Off);
});
it('should convert "Debug" to LoggingLevel.Debug', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Debug')).toBe(LoggingLevel.Debug);
});
it('should convert "Trace" to LoggingLevel.Trace', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Trace')).toBe(LoggingLevel.Trace);
});
it('should convert "Info" to LoggingLevel.Info', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Info')).toBe(LoggingLevel.Info);
});
it('should convert "Silly" to LoggingLevel.Silly', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Silly')).toBe(LoggingLevel.Silly);
});
it('should convert "Warn" to LoggingLevel.Warn', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Warn')).toBe(LoggingLevel.Warn);
});
it('should convert "Error" to LoggingLevel.Error', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('Error')).toBe(LoggingLevel.Error);
});
it('should convert "All" to LoggingLevel.All', () => {
expect(LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel('All')).toBe(LoggingLevel.All);
});
});
describe('round trip conversion', () => {
it('should maintain consistency in round trip conversions', () => {
const allLevels: LoggingLevel[] = [
LoggingLevel.Off,
LoggingLevel.Debug,
LoggingLevel.Trace,
LoggingLevel.Info,
LoggingLevel.Silly,
LoggingLevel.Warn,
LoggingLevel.Error,
LoggingLevel.All
];
for (const level of allLevels) {
const type = LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(level);
const backToLevel = LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel(type);
expect(backToLevel).toBe(level);
}
});
});
});