import { afterAll, beforeAll, vi } from 'vitest'; let vueWarnings = []; const originalConsoleWarn = console.warn; beforeAll(() => { console.warn = (...args) => { vueWarnings.push(args.join(' ')); }; }); afterEach(() => { if (vueWarnings.length > 0) { const allWarnings = vueWarnings.join('\n'); vueWarnings = []; throw new Error(`Vue warnings detected during test:\n${allWarnings}`); } }); afterAll(() => { console.warn = originalConsoleWarn; }); vi.mock('axios'); vi.mock('vue-router', () => ({ useRouter: () => ({ push: vi.fn(), replace: vi.fn(), currentRoute: { value: { params: { id: 1, }, meta: { moduleName: 'mockName' }, matched: [{ path: 'mockName/list' }], }, }, }), useRoute: () => ({ matched: [], query: {}, params: {}, meta: { moduleName: 'mockName' }, path: 'mockSection/list', }), onBeforeRouteLeave: () => {}, }));