diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 3fca37a1..b312d311 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,7 +23,7 @@ jobs: # ignore-pnpmfile should never be commited. Make CI crash if it happened (`pnpmfileChecksum` is present) run: "pnpm install --frozen-lockfile --ignore-pnpmfile" - name: Install Playwright Browsers - run: pnpm exec playwright install + run: pnpm exec playwright install --with-deps chromium - name: Vitest run: "pnpm run test:coverage" - name: Upload to codecov diff --git a/.storybook/vitest.setup.ts b/.storybook/vitest.setup.ts new file mode 100644 index 00000000..de24c78c --- /dev/null +++ b/.storybook/vitest.setup.ts @@ -0,0 +1,17 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE in the repository root for full details. +*/ + +import { beforeAll } from "vitest"; +import { setProjectAnnotations } from "@storybook/react-vite"; +import * as projectAnnotations from "./preview"; + +// Apply the right Storybook configuration when testing stories. +// See: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations +const annotations = setProjectAnnotations([projectAnnotations]); + +// Run Storybook's beforeAll hook (sets up decorators, parameters, etc.) +beforeAll(annotations.beforeAll); diff --git a/vitest.config.ts b/vitest.config.ts index 40fd4288..01ed73ad 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -39,6 +39,7 @@ export default defineConfig((configEnv) => ], test: { name: "storybook", + setupFiles: [".storybook/vitest.setup.ts"], browser: { enabled: true, // Make sure to install Playwright