Ctrl K
ComunidadGuías…

lib/app-bootstrap.test.tsx

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { describe, expect, it, vi } from 'vitest';

import logger from '@/utils/logger';

describe('app-bootstrap', () => {
    it('logs uncaught exceptions', async () => {
        const errorSpy = vi.spyOn(logger, 'error').mockImplementation(() => logger);
        const before = new Set(process.listeners('uncaughtException'));
        await import('@/app-bootstrap');
        const after = process.listeners('uncaughtException');
        const listener = after.find((fn) => !before.has(fn) && String(fn).includes('uncaughtException: '));

        expect(listener).toBeDefined();
        listener?.(new Error('boom'), 'uncaughtException');
        expect(errorSpy).toHaveBeenCalled();

        if (listener) {
            process.removeListener('uncaughtException', listener);
        }
        errorSpy.mockRestore();
    });
});