Skip to content

Commit 39e31c9

Browse files
committed
fix: Fix userEvent/convenience Example Code
1 parent ae4d795 commit 39e31c9

File tree

1 file changed

+28
-23
lines changed

1 file changed

+28
-23
lines changed

docs/user-event/api-convenience.mdx

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,16 @@ pointer([{target: element}, {keys: '[MouseLeft]', target: element}])
2020

2121
```js
2222
test('click', async () => {
23+
const onChange = jest.fn()
2324
const user = userEvent.setup()
24-
render(<input type="checkbox" />)
25+
26+
render(<input type="checkbox" onChange={onChange} />)
2527

2628
const checkbox = screen.getByRole('checkbox')
2729

2830
await user.click(checkbox)
2931

32+
expect(onChange).toHaveBeenCalledTimes(1)
3033
expect(checkbox).toBeChecked()
3134
})
3235
```
@@ -45,13 +48,16 @@ pointer([{target: element}, {keys: '[MouseLeft][MouseLeft]', target: element}])
4548

4649
```js
4750
test('double click', async () => {
51+
const onChange = jest.fn()
4852
const user = userEvent.setup()
49-
render(<input type="checkbox" />)
53+
54+
render(<input type="checkbox" onChange={onChange} />)
5055

5156
const checkbox = screen.getByRole('checkbox')
5257

5358
await user.dblClick(checkbox)
5459

60+
expect(onChange).toHaveBeenCalledTimes(2)
5561
expect(checkbox).not.toBeChecked()
5662
})
5763
```
@@ -71,13 +77,16 @@ pointer([
7177

7278
```js
7379
test('triple click', async () => {
80+
const onChange = jest.fn()
7481
const user = userEvent.setup()
75-
render(<input type="checkbox" />)
82+
83+
render(<input type="checkbox" onChange={onChange} />)
7684

7785
const checkbox = screen.getByRole('checkbox')
7886

7987
await user.tripleClick(checkbox)
8088

89+
expect(onChange).toHaveBeenCalledTimes(3)
8190
expect(checkbox).toBeChecked()
8291
})
8392
```
@@ -95,33 +104,29 @@ pointer({target: element})
95104
```
96105

97106
```js
98-
const TestComponent = () => {
99-
const [isHover, setIsHover] = useState(false)
100-
101-
return (
102-
<p
103-
role="paragraph"
104-
onMouseEnter={() => setIsHover(true)}
105-
onMouseLeave={() => setIsHover(false)}
106-
>
107-
{isHover ? 'Hover' : 'UnHover'}
108-
</p>
109-
)
110-
}
111-
112107
test('hover/unhover', async () => {
113108
const user = userEvent.setup()
114-
render(<TestComponent />)
109+
render(<div>Hover</div>)
110+
111+
const hoverBox = screen.getByText('Hover')
112+
let isHover = false
113+
114+
hoverBox.addEventListener('mouseover', () => {
115+
isHover = true
116+
})
117+
hoverBox.addEventListener('mouseout', () => {
118+
isHover = false
119+
})
115120

116-
const paragraph = screen.getByRole('paragraph')
121+
expect(isHover).toBeFalsy()
117122

118-
await user.hover(paragraph)
123+
await user.hover(hoverBox)
119124

120-
expect(paragraph).toHaveTextContent('Hover')
125+
expect(isHover).toBeTruthy()
121126

122-
await user.unhover(paragraph)
127+
await user.unhover(hoverBox)
123128

124-
expect(paragraph).toHaveTextContent('UnHover')
129+
expect(isHover).toBeFalsy()
125130
})
126131
```
127132

0 commit comments

Comments
 (0)