Skip to content

Commit b873969

Browse files
committed
chore(svelte-query-devtools): set up vitest environment with '@testing-library/svelte' and a smoke test
1 parent 9800c8f commit b873969

6 files changed

Lines changed: 51 additions & 56 deletions

File tree

packages/svelte-query-devtools/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
"compile": "tsc --build",
2525
"test:types": "svelte-check --tsconfig ./tsconfig.json",
2626
"test:eslint": "eslint --concurrency=auto ./src",
27+
"test:lib": "vitest",
28+
"test:lib:dev": "pnpm run test:lib --watch",
2729
"test:build": "publint --strict && attw --pack",
2830
"build": "svelte-package --input ./src --output ./dist"
2931
},
@@ -53,6 +55,7 @@
5355
"@sveltejs/package": "^2.4.0",
5456
"@sveltejs/vite-plugin-svelte": "^5.1.1",
5557
"@tanstack/svelte-query": "workspace:*",
58+
"@testing-library/svelte": "^5.2.8",
5659
"@typescript-eslint/parser": "^8.48.0",
5760
"eslint-plugin-svelte": "^3.11.0",
5861
"svelte": "^5.39.3",
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { describe, expect, it } from 'vitest'
2+
import { render } from '@testing-library/svelte'
3+
import { QueryClient } from '@tanstack/svelte-query'
4+
import SvelteQueryDevtools from '../src/Devtools.svelte'
5+
6+
describe('SvelteQueryDevtools', () => {
7+
it('should render the parent container without throwing in non-development environments', () => {
8+
const queryClient = new QueryClient()
9+
10+
const { container } = render(SvelteQueryDevtools, {
11+
props: { client: queryClient },
12+
})
13+
14+
expect(
15+
container.querySelector('.tsqd-parent-container'),
16+
).toBeInTheDocument()
17+
})
18+
})
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@testing-library/jest-dom/vitest'

packages/svelte-query-devtools/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"outDir": "./dist-ts",
55
"rootDir": "."
66
},
7-
"include": ["src", "*.config.*", "package.json"],
7+
"include": ["src", "tests", "*.config.*", "package.json"],
88
"references": [{ "path": "../query-devtools" }, { "path": "../svelte-query" }]
99
}

packages/svelte-query-devtools/vite.config.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { svelte } from '@sveltejs/vite-plugin-svelte'
2-
import { defineConfig } from 'vite'
2+
import { defineConfig } from 'vitest/config'
3+
import { svelteTesting } from '@testing-library/svelte/vite'
4+
5+
import packageJson from './package.json'
36

47
export default defineConfig({
5-
plugins: [svelte()],
8+
plugins: [svelte(), svelteTesting()],
69
// fix from https://github.com/vitest-dev/vitest/issues/6992#issuecomment-2509408660
710
resolve: {
811
conditions: ['@tanstack/custom-condition'],
@@ -14,4 +17,17 @@ export default defineConfig({
1417
},
1518
},
1619
},
20+
test: {
21+
name: packageJson.name,
22+
dir: './tests',
23+
watch: false,
24+
environment: 'jsdom',
25+
setupFiles: ['./tests/test-setup.ts'],
26+
coverage: {
27+
enabled: true,
28+
provider: 'istanbul',
29+
include: ['src/**/*'],
30+
},
31+
typecheck: { enabled: true },
32+
},
1733
})

pnpm-lock.yaml

Lines changed: 10 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)