Skip to content

Commit 1d01ddb

Browse files
committed
first test
1 parent e3347c6 commit 1d01ddb

File tree

5 files changed

+68
-13
lines changed

5 files changed

+68
-13
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ test/**/__screenshots__
99
npm-debug.log
1010
**.orig
1111
.idea
12+
.vitest-attachments

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@
3535
"preview": "vite preview",
3636
"build:website": "vite build",
3737
"build": "rolldown -c",
38-
"test": "vitest run test",
38+
"test": "vitest run --project browser --project node",
3939
"test:watch": "vitest watch test",
40-
"visual": "vitest run visual",
40+
"visual": "vitest run --project visual",
4141
"format": "biome format --write",
4242
"check": "biome check --error-on-warnings",
4343
"biome:ci": "biome ci --error-on-warnings",

tsconfig.test.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
"lib": ["ESNext", "DOM", "DOM.Iterable", "DOM.AsyncIterable"],
66
"types": ["vitest/globals"]
77
},
8-
"include": ["test/**/*"],
8+
"include": ["test/**/*", "visual/**/*"],
99
"references": [{ "path": "tsconfig.src.json" }]
1010
}

visual/basicGrid.test.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { page } from '@vitest/browser/context';
2+
3+
import { DataGrid, SelectColumn, type Column } from '../src';
4+
import { getGrid } from '../test/browser/utils';
5+
6+
interface Row {
7+
id: number;
8+
name: string;
9+
}
10+
11+
const columns: readonly Column<Row>[] = [
12+
SelectColumn,
13+
{
14+
key: 'name',
15+
name: 'Name'
16+
}
17+
];
18+
19+
const rows: readonly Row[] = [
20+
{ id: 1, name: 'Row 1' },
21+
{ id: 2, name: 'Row 2' },
22+
{ id: 3, name: 'Row 3' }
23+
];
24+
25+
function rowKeyGetter(row: Row) {
26+
return row.id;
27+
}
28+
29+
test('toggle selection when checkbox is clicked', async () => {
30+
page.render(<DataGrid rowKeyGetter={rowKeyGetter} columns={columns} rows={rows} />);
31+
32+
await expect(getGrid()).toMatchScreenshot();
33+
});

vite.config.ts

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,40 @@ export default defineConfig(({ command, isPreview }) => ({
109109
headless: true,
110110
screenshotFailures: process.env.CI !== 'true'
111111
},
112-
toMatchScreenshot: {
113-
comparatorName: 'pixelmatch',
114-
comparatorOptions: {
115-
// TODO: finalize these values
116-
// 0-1, how different can colors be?
117-
threshold: 0.2,
118-
// 1% of pixels can differ
119-
allowedMismatchedPixelRatio: 0.01
120-
}
121-
},
122112
setupFiles: ['test/setupBrowser.ts']
123113
}
124114
},
115+
{
116+
extends: true,
117+
test: {
118+
name: 'visual',
119+
include: ['visual/*.test.*'],
120+
browser: {
121+
enabled: true,
122+
provider: playwright(),
123+
instances: [
124+
{
125+
browser: 'chromium',
126+
context: { viewport }
127+
}
128+
],
129+
viewport,
130+
headless: true
131+
},
132+
setupFiles: ['test/setupBrowser.ts']
133+
},
134+
toMatchScreenshot: {
135+
comparatorName: 'pixelmatch',
136+
comparatorOptions: {
137+
// TODO: finalize these values
138+
// 0-1, how different can colors be?
139+
threshold: 0.2,
140+
// 1% of pixels can differ
141+
allowedMismatchedPixelRatio: 0.01
142+
}
143+
},
144+
setupFiles: ['test/setupBrowser.ts']
145+
},
125146
{
126147
extends: true,
127148
test: {

0 commit comments

Comments
 (0)