Files
logger/test/console.test.ts
mifi f464fa5017
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/publish unknown status
fix(docs):Docs and Exports
- Add documentation for recently released changes
- Update some exports to include enums
2026-08-21 11:45:56 -03:00

41 lines
1.3 KiB
TypeScript

import { afterEach, describe, expect, it, vi } from 'vitest';
import { createConsoleSink } from '../src/index';
import type { LogEvent } from '../src/index';
function event(overrides: Partial<LogEvent> = {}): LogEvent {
return {
level: 'debug',
namespace: 'API',
arguments: ['hello'],
timestamp: new Date(),
environment: 'development',
sendToSentryLogs: false,
sendToSentryIssue: false,
sendToConsole: true,
...overrides,
};
}
describe('createConsoleSink', () => {
afterEach(() => {
vi.restoreAllMocks();
});
it('appends [async] to the namespace label when event.async is set', () => {
const debug = vi.spyOn(console, 'debug').mockImplementation(() => undefined);
createConsoleSink().emit(event({ async: true }));
expect(debug).toHaveBeenCalled();
const first = debug.mock.calls[0]?.[0];
expect(String(first)).toContain('[API][async]');
});
it('omits [async] for synchronous events', () => {
const debug = vi.spyOn(console, 'debug').mockImplementation(() => undefined);
createConsoleSink().emit(event());
expect(debug).toHaveBeenCalled();
const first = debug.mock.calls[0]?.[0];
expect(String(first)).toContain('[API]');
expect(String(first)).not.toContain('[async]');
});
});