73 lines
1.8 KiB
TypeScript
73 lines
1.8 KiB
TypeScript
/// <reference types="vitest/config" />
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
import { defineConfig } from "vitest/config";
|
|
import { playwright } from "@vitest/browser-playwright";
|
|
import { sveltekit } from "@sveltejs/kit/vite";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { storybookTest } from "@storybook/addon-vitest/vitest-plugin";
|
|
const dirname =
|
|
typeof __dirname !== "undefined" ? __dirname : path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
// More info at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon
|
|
export default defineConfig({
|
|
plugins: [tailwindcss(), sveltekit()],
|
|
test: {
|
|
expect: {
|
|
requireAssertions: true
|
|
},
|
|
projects: [
|
|
{
|
|
extends: "./vite.config.ts",
|
|
test: {
|
|
name: "client",
|
|
browser: {
|
|
enabled: true,
|
|
provider: playwright(),
|
|
instances: [
|
|
{
|
|
browser: "chromium",
|
|
headless: true
|
|
}
|
|
]
|
|
},
|
|
include: ["src/**/*.svelte.{test,spec}.{js,ts}"],
|
|
exclude: ["src/lib/server/**"]
|
|
}
|
|
},
|
|
{
|
|
extends: "./vite.config.ts",
|
|
test: {
|
|
name: "server",
|
|
environment: "node",
|
|
include: ["src/**/*.{test,spec}.{js,ts}"],
|
|
exclude: ["src/**/*.svelte.{test,spec}.{js,ts}"]
|
|
}
|
|
},
|
|
{
|
|
extends: true,
|
|
plugins: [
|
|
// The plugin will run tests for the stories defined in your Storybook config
|
|
// See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest
|
|
storybookTest({
|
|
configDir: path.join(dirname, ".storybook")
|
|
})
|
|
],
|
|
test: {
|
|
name: "storybook",
|
|
browser: {
|
|
enabled: true,
|
|
headless: true,
|
|
provider: playwright({}),
|
|
instances: [
|
|
{
|
|
browser: "chromium"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
});
|