All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 5m56s
60 lines
1.9 KiB
TypeScript
60 lines
1.9 KiB
TypeScript
// src/services/logger.client.test.ts
|
|
import { describe, it, expect, vi, afterEach } from 'vitest';
|
|
|
|
// IMPORTANT: Unmock the module to ensure we test the REAL implementation,
|
|
// not an auto-mocked version that doesn't actually call console methods.
|
|
vi.unmock('./logger.client');
|
|
|
|
import { logger } from './logger.client';
|
|
|
|
console.log('Logger implementation:', logger);
|
|
|
|
describe('Client Logger', () => {
|
|
afterEach(() => {
|
|
// Restore all spies
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it('logger.info calls console.log with [INFO] prefix', () => {
|
|
// Access globalThis.console to ensure we spy on the environment's actual console
|
|
const spy = vi.spyOn(globalThis.console, 'log').mockImplementation(() => {});
|
|
const message = 'test info';
|
|
const data = { foo: 'bar' };
|
|
|
|
logger.info(message, data);
|
|
|
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
expect(spy).toHaveBeenCalledWith(`[INFO] ${message}`, data);
|
|
});
|
|
|
|
it('logger.warn calls console.warn with [WARN] prefix', () => {
|
|
const spy = vi.spyOn(globalThis.console, 'warn').mockImplementation(() => {});
|
|
const message = 'test warn';
|
|
|
|
logger.warn(message);
|
|
|
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
expect(spy).toHaveBeenCalledWith(`[WARN] ${message}`);
|
|
});
|
|
|
|
it('logger.error calls console.error with [ERROR] prefix', () => {
|
|
const spy = vi.spyOn(globalThis.console, 'error').mockImplementation(() => {});
|
|
const message = 'test error';
|
|
const err = new Error('fail');
|
|
|
|
logger.error(message, err);
|
|
|
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
expect(spy).toHaveBeenCalledWith(`[ERROR] ${message}`, err);
|
|
});
|
|
|
|
it('logger.debug calls console.debug with [DEBUG] prefix', () => {
|
|
const spy = vi.spyOn(globalThis.console, 'debug').mockImplementation(() => {});
|
|
const message = 'test debug';
|
|
|
|
logger.debug(message);
|
|
|
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
expect(spy).toHaveBeenCalledWith(`[DEBUG] ${message}`);
|
|
});
|
|
}); |