Skip to content

Commit 9b6e241

Browse files
philibeaprotobuf-ci-cd
authored andcommitted
fix(Toggle): side effect broken e2e test
Signed-off-by: protobuf-ci-cd <protobuf-ci-cd@scaleway.com>
1 parent b28f612 commit 9b6e241

File tree

4 files changed

+86
-9
lines changed

4 files changed

+86
-9
lines changed

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: 9 additions & 8 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

@@ -38,13 +39,13 @@ export default defineConfig({
3839
name: 'chromium',
3940
use: { ...devices['Desktop Chrome'] },
4041
},
41-
{
42-
name: 'firefox',
43-
use: { ...devices['Desktop Firefox'] },
44-
},
45-
{
46-
name: 'webkit',
47-
use: { ...devices['Desktop Safari'] },
48-
},
42+
// {
43+
// name: 'firefox',
44+
// use: { ...devices['Desktop Firefox'] },
45+
// },
46+
// {
47+
// name: 'webkit',
48+
// use: { ...devices['Desktop Safari'] },
49+
// },
4950
],
5051
})

e2e/tests/toggle/render.tsx

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