Skip to content

Commit 348bfab

Browse files
committed
fix(Toggle): side effect broken e2e test
Signed-off-by: protobuf-ci-cd <[email protected]>
1 parent 35a6123 commit 348bfab

File tree

5 files changed

+88
-1
lines changed

5 files changed

+88
-1
lines changed

biome.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3+
"experimentalScannerIgnores": [".git", "dist", "node_modules"],
34
"assist": {
45
"actions": {
56
"source": {
@@ -9,11 +10,13 @@
910
"useSortedProperties": "on"
1011
}
1112
},
13+
1214
"includes": [
1315
"!**/package.json",
1416
"**/*.ts",
1517
"**/*.tsx",
1618
"!**/dist/**",
19+
"!**/node_modules/**",
1720
"!**/build/**",
1821
"!**/.turbo/**",
1922
"!**/prebuild.ts",

e2e/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"scripts": {
77
"start": "vite",
88
"e2e": "playwright test",
9-
"e2e:debug": "playwright test --ui",
9+
"e2e:ui": "playwright test --ui",
10+
"e2e:debug": "PWDEBUG=1 pnpm playwright test",
1011
"build": "tsc -b && vite build",
1112
"lint": "eslint .",
1213
"preview": "vite preview"

e2e/playwright.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { defineConfig, devices } from '@playwright/test'
44

55
const isCI = process.env['CI']
6+
// const isDebug = process.env['PWDEBUG']
67

78
const baseURL = 'http://localhost:5173'
89

e2e/tests/toggle/render.tsx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import {
2+
CheckboxField,
3+
Form,
4+
Submit,
5+
ToggleField,
6+
useForm,
7+
} from '@ultraviolet/form'
8+
import { Checkbox, Stack, Toggle } from '@ultraviolet/ui'
9+
import { useReducer } from 'react'
10+
11+
const defaultError = ({ label }: { label: string }) =>
12+
`${label} is default error`
13+
14+
const formError = {
15+
isInteger: defaultError,
16+
max: defaultError,
17+
maxDate: defaultError,
18+
maxLength: defaultError,
19+
min: defaultError,
20+
minDate: defaultError,
21+
minLength: defaultError,
22+
pattern: defaultError,
23+
required: defaultError,
24+
}
25+
const defaultReducer = (state: boolean) => !state
26+
27+
const Render = () => {
28+
const [checkbox, toggleCheckbox] = useReducer(defaultReducer, false)
29+
const [toggle, toggleToggle] = useReducer(defaultReducer, false)
30+
31+
const methods = useForm({
32+
defaultValues: {
33+
checkboxForm: false,
34+
toggleFieldForm: false,
35+
},
36+
mode: 'onChange',
37+
})
38+
39+
return (
40+
<Stack flex={1} gap={1}>
41+
<Toggle
42+
checked={toggle}
43+
label="Toggle"
44+
name="toggle"
45+
onChange={toggleToggle}
46+
/>
47+
48+
<Checkbox
49+
aria-label="Checkbox"
50+
checked={checkbox}
51+
name="checkbox"
52+
onChange={toggleCheckbox}
53+
/>
54+
55+
<Form
56+
errors={formError}
57+
methods={methods}
58+
name="form"
59+
onSubmit={() => {}}
60+
>
61+
<ToggleField label="ToggleField" name="toggleFieldForm" />
62+
<CheckboxField label="CheckboxField" name="checkboxForm">
63+
CheckboxField
64+
</CheckboxField>
65+
<Submit>Submit</Submit>
66+
</Form>
67+
</Stack>
68+
)
69+
}
70+
export default Render

e2e/tests/toggle/test.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { test } from '@playwright/test'
2+
3+
test('toggled component(s)', async ({ page, baseURL }) => {
4+
await page.goto(`${baseURL}/toggle`)
5+
6+
await page.getByLabel('Checkbox', { exact: true }).check()
7+
await page.getByLabel('Toggle', { exact: true }).check()
8+
9+
await page.getByLabel('CheckboxField', { exact: true }).check()
10+
await page.getByLabel('ToggleField', { exact: true }).check()
11+
await page.getByRole('button').click()
12+
})

0 commit comments

Comments
 (0)