diff --git a/vitest.config.component.ts b/vitest.config.component.ts new file mode 100644 index 0000000..47afafd --- /dev/null +++ b/vitest.config.component.ts @@ -0,0 +1,29 @@ +import { svelte } from '@sveltejs/vite-plugin-svelte'; +import path from 'node:path'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [svelte()], + + test: { + environment: 'jsdom', + include: ['src/**/*.svelte.test.ts'], + exclude: ['node_modules', 'dist', 'e2e', '.storybook'], + restoreMocks: true, + setupFiles: ['./vitest.setup.component.ts', './vitest.setup.jsdom.ts'], + globals: true, + }, + + resolve: { + conditions: ['browser'], + alias: { + $lib: path.resolve(__dirname, './src/lib'), + $app: path.resolve(__dirname, './src/app'), + $shared: path.resolve(__dirname, './src/shared'), + $entities: path.resolve(__dirname, './src/entities'), + $features: path.resolve(__dirname, './src/features'), + $routes: path.resolve(__dirname, './src/routes'), + $widgets: path.resolve(__dirname, './src/widgets'), + }, + }, +}); diff --git a/vitest.setup.component.ts b/vitest.setup.component.ts index 19dc892..32236e5 100644 --- a/vitest.setup.component.ts +++ b/vitest.setup.component.ts @@ -1,3 +1,4 @@ +import { queryClient } from '$shared/api/queryClient'; import * as matchers from '@testing-library/jest-dom/matchers'; import { cleanup } from '@testing-library/svelte'; import { @@ -13,6 +14,7 @@ expect.extend(matchers); afterEach(() => { cleanup(); + queryClient.clear(); }); // Mock window.matchMedia for components that use it