mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-29 17:07:22 +00:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
|
import { describe, expect, it, vi } from 'vitest'
|
||
|
|
||
|
import { consola } from 'consola'
|
||
|
import { logger, useLogger } from './logger'
|
||
|
|
||
|
vi.mock("consola", () => {
|
||
|
const logger = {} as any;
|
||
|
|
||
|
logger.create = vi.fn(() => ({...logger}));
|
||
|
logger.withTag = vi.fn(() => ({...logger}));
|
||
|
|
||
|
return { consola: logger };
|
||
|
})
|
||
|
|
||
|
describe('logger', () => {
|
||
|
it('should expose consola', () => {
|
||
|
expect(logger).toBe(consola)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('useLogger', () => {
|
||
|
it('should expose consola when not passing a tag', () => {
|
||
|
expect(useLogger()).toBe(consola);
|
||
|
});
|
||
|
|
||
|
it('should create a new instance when passing a tag', () => {
|
||
|
const logger = vi.mocked(consola);
|
||
|
|
||
|
const instance = useLogger("tag");
|
||
|
|
||
|
expect(instance).toEqual(logger);
|
||
|
expect(instance).not.toBe(logger);
|
||
|
expect(logger.create).toBeCalledWith({});
|
||
|
expect(logger.withTag).toBeCalledWith("tag");
|
||
|
});
|
||
|
|
||
|
it('should create a new instance when passing a tag and options', () => {
|
||
|
const logger = vi.mocked(consola);
|
||
|
|
||
|
const instance = useLogger("tag", { level: 0 });
|
||
|
|
||
|
expect(instance).toEqual(logger);
|
||
|
expect(instance).not.toBe(logger);
|
||
|
expect(logger.create).toBeCalledWith({ level: 0 });
|
||
|
expect(logger.withTag).toBeCalledWith("tag");
|
||
|
});
|
||
|
|
||
|
})
|