@@ -20,12 +20,13 @@ pointer([{target: element}, {keys: '[MouseLeft]', target: element}])
20
20
21
21
``` js
22
22
test (' click' , async () => {
23
+ const user = userEvent .setup ()
23
24
const onChange = jest .fn ()
24
25
render (< input type= " checkbox" onChange= {onChange} / > )
25
26
26
27
const checkbox = screen .getByRole (' checkbox' )
27
28
28
- await userEvent .click (checkbox)
29
+ await user .click (checkbox)
29
30
30
31
expect (onChange).toHaveBeenCalledTimes (1 )
31
32
expect (checkbox).toBeChecked ()
@@ -46,12 +47,13 @@ pointer([{target: element}, {keys: '[MouseLeft][MouseLeft]', target: element}])
46
47
47
48
``` js
48
49
test (' double click' , async () => {
50
+ const user = userEvent .setup ()
49
51
const onChange = jest .fn ()
50
52
render (< input type= " checkbox" onChange= {onChange} / > )
51
53
52
54
const checkbox = screen .getByRole (' checkbox' )
53
55
54
- await userEvent .dblClick (checkbox)
56
+ await user .dblClick (checkbox)
55
57
56
58
expect (onChange).toHaveBeenCalledTimes (2 )
57
59
expect (checkbox).not .toBeChecked ()
@@ -73,12 +75,13 @@ pointer([
73
75
74
76
``` js
75
77
test (' triple click' , async () => {
78
+ const user = userEvent .setup ()
76
79
const onChange = jest .fn ()
77
80
render (< input type= " checkbox" onChange= {onChange} / > )
78
81
79
82
const checkbox = screen .getByRole (' checkbox' )
80
83
81
- await userEvent .tripleClick (checkbox)
84
+ await user .tripleClick (checkbox)
82
85
83
86
expect (onChange).toHaveBeenCalledTimes (3 )
84
87
expect (checkbox).toBeChecked ()
@@ -102,28 +105,29 @@ const TestComponent = () => {
102
105
const [isHover , setIsHover ] = useState (false )
103
106
104
107
return (
105
- < div
106
- style = {{backgroundColor : isHover ? ' red ' : ' green ' }}
108
+ < p
109
+ role = " paragraph "
107
110
onMouseEnter= {() => setIsHover (true )}
108
111
onMouseLeave= {() => setIsHover (false )}
109
112
>
110
- Hover
111
- < / div >
113
+ {isHover ? ' Hover' : ' UnHover ' }
114
+ < / p >
112
115
)
113
116
}
114
117
115
118
test (' hover/unhover' , async () => {
119
+ const user = userEvent .setup ()
116
120
render (< TestComponent / > )
117
121
118
- const hoverBox = screen .getByText ( ' Hover ' )
122
+ const paragraph = screen .getByRole ( ' paragraph ' )
119
123
120
- await userEvent .hover (hoverBox )
124
+ await user .hover (paragraph )
121
125
122
- expect (hoverBox). toHaveStyle ({backgroundColor : ' red ' } )
126
+ expect (paragraph). toHaveTextContent ( ' Hover ' )
123
127
124
- await userEvent .unhover (hoverBox )
128
+ await user .unhover (paragraph )
125
129
126
- expect (hoverBox). toHaveStyle ({backgroundColor : ' green ' } )
130
+ expect (paragraph). toHaveTextContent ( ' UnHover ' )
127
131
})
128
132
```
129
133
@@ -156,6 +160,7 @@ keyboard('[/ShiftLeft][/ShiftRight]{Tab}')
156
160
157
161
``` js
158
162
test (' tab' , async () => {
163
+ const user = userEvent .setup ()
159
164
render (
160
165
< div>
161
166
< input type= " checkbox" / >
@@ -170,24 +175,24 @@ test('tab', async () => {
170
175
171
176
expect (document .body ).toHaveFocus ()
172
177
173
- await userEvent .tab ()
178
+ await user .tab ()
174
179
175
180
expect (checkbox).toHaveFocus ()
176
181
177
- await userEvent .tab ()
182
+ await user .tab ()
178
183
179
184
expect (radio).toHaveFocus ()
180
185
181
- await userEvent .tab ()
186
+ await user .tab ()
182
187
183
188
expect (number).toHaveFocus ()
184
189
185
- await userEvent .tab ()
190
+ await user .tab ()
186
191
187
192
// cycle goes back to the body element
188
193
expect (document .body ).toHaveFocus ()
189
194
190
- await userEvent .tab ()
195
+ await user .tab ()
191
196
192
197
expect (checkbox).toHaveFocus ()
193
198
})
0 commit comments