59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
import { taLogger } from '../js/mzta-logger.js';
|
|
|
|
describe('taLogger', () => {
|
|
let logSpy, errorSpy, warnSpy;
|
|
|
|
beforeEach(() => {
|
|
logSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
errorSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
|
|
warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it('sets prefix and debug flag in constructor', () => {
|
|
const logger = new taLogger('Test', true);
|
|
expect(logger.prefix).toBe('[ThunderAI Logger | Test] ');
|
|
expect(logger.do_debug).toBe(true);
|
|
});
|
|
|
|
it('log() outputs when debug is true', () => {
|
|
const logger = new taLogger('Test', true);
|
|
logger.log('hello');
|
|
expect(logSpy).toHaveBeenCalledWith('[ThunderAI Logger | Test] hello');
|
|
});
|
|
|
|
it('log() is silent when debug is false', () => {
|
|
const logger = new taLogger('Test', false);
|
|
logger.log('hello');
|
|
expect(logSpy).not.toHaveBeenCalled();
|
|
});
|
|
|
|
it('log() with do_debug parameter changes debug state', () => {
|
|
const logger = new taLogger('Test', false);
|
|
logger.log('hello', true);
|
|
expect(logSpy).toHaveBeenCalledWith('[ThunderAI Logger | Test] hello');
|
|
expect(logger.do_debug).toBe(true);
|
|
});
|
|
|
|
it('error() always outputs regardless of debug flag', () => {
|
|
const logger = new taLogger('Test', false);
|
|
logger.error('something broke');
|
|
expect(errorSpy).toHaveBeenCalledWith('[ThunderAI Logger | Test] something broke');
|
|
});
|
|
|
|
it('warn() always outputs regardless of debug flag', () => {
|
|
const logger = new taLogger('Test', false);
|
|
logger.warn('watch out');
|
|
expect(warnSpy).toHaveBeenCalledWith('[ThunderAI Logger | Test] watch out');
|
|
});
|
|
|
|
it('changeDebug() updates the debug flag', () => {
|
|
const logger = new taLogger('Test', false);
|
|
expect(logger.do_debug).toBe(false);
|
|
logger.changeDebug(true);
|
|
expect(logger.do_debug).toBe(true);
|
|
});
|
|
});
|