Skip to content

Commit 35c8b3a

Browse files
Merge pull request #4 from Matt-Williams1/adjust-test-tooling-for-dom-tests
feat(test): add browser vitest config
2 parents eaff266 + b3d9ccb commit 35c8b3a

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,14 @@ Unit tests use [vitest](https://vitest.dev)
260260
pnpm test.unit
261261
```
262262

263+
For tests that rely on browser APIs, run the DOM-focused build:
264+
265+
```shell
266+
pnpm test.unit.browser
267+
```
268+
269+
This preset uses [`jsdom`](https://github.com/jsdom/jsdom) under the hood, so ensure it is installed.
270+
263271
### E2E Tests Only
264272

265273
E2E tests use [Playwright](https://playwright.dev/).

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@
256256
"test.rust": "make test",
257257
"test.rust.update": "make test-update",
258258
"test.unit": "vitest packages",
259+
"test.unit.browser": "vitest -c vitest.browser.config.ts packages",
259260
"test.unit.debug": "vitest --inspect-brk packages",
260261
"test.vite": "playwright test starters/e2e/qwikcity --browser=chromium --config starters/playwright.config.ts",
261262
"tsc.check": "tsc --noEmit",

vitest.browser.config.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { mergeConfig, defineConfig } from 'vitest/config';
2+
import baseConfig from './vitest.config';
3+
4+
// Browser-targeted Vitest config for tests requiring DOM APIs
5+
export default mergeConfig(
6+
baseConfig,
7+
defineConfig({
8+
esbuild: {
9+
platform: 'browser',
10+
},
11+
resolve: {
12+
conditions: ['browser'],
13+
},
14+
test: {
15+
environment: 'jsdom',
16+
},
17+
})
18+
);

vitest.workspace.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import { defineWorkspace } from 'vitest/config';
22

33
// needed by the vscode vitest integration but it also speeds up vitest cli
4-
export default defineWorkspace(['./vitest.config.ts']);
4+
export default defineWorkspace(['./vitest.config.ts', './vitest.browser.config.ts']);

0 commit comments

Comments
 (0)