49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
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: () => {},
|
|
}));
|