@@ -5,122 +5,91 @@ import userEvent from "../src";
5
5
6
6
afterEach ( cleanup ) ;
7
7
8
- describe ( "fireEvent .click" , ( ) => {
8
+ describe ( "userEvent .click" , ( ) => {
9
9
it . each ( [ "input" , "textarea" ] ) (
10
10
"should fire the correct events for <%s>" ,
11
11
type => {
12
- const onMouseOver = jest . fn ( ) ;
13
- const onMouseMove = jest . fn ( ) ;
14
- const onMouseDown = jest . fn ( ) ;
15
- const onFocus = jest . fn ( ) ;
16
- const onMouseUp = jest . fn ( ) ;
17
- const onClick = jest . fn ( ) ;
12
+ const events = [ ] ;
13
+ const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
18
14
const { getByTestId } = render (
19
15
React . createElement ( type , {
20
16
"data-testid" : "element" ,
21
- onMouseOver : onMouseOver ,
22
- onMouseMove : onMouseMove ,
23
- onMouseDown : onMouseDown ,
24
- onFocus : onFocus ,
25
- onMouseUp : onMouseUp ,
26
- onClick : onClick
17
+ onMouseOver : eventsHandler ,
18
+ onMouseMove : eventsHandler ,
19
+ onMouseDown : eventsHandler ,
20
+ onFocus : eventsHandler ,
21
+ onMouseUp : eventsHandler ,
22
+ onClick : eventsHandler
27
23
} )
28
24
) ;
29
25
30
- expect ( onMouseOver ) . not . toHaveBeenCalled ( ) ;
31
- expect ( onMouseMove ) . not . toHaveBeenCalled ( ) ;
32
- expect ( onMouseDown ) . not . toHaveBeenCalled ( ) ;
33
- expect ( onFocus ) . not . toHaveBeenCalled ( ) ;
34
- expect ( onMouseUp ) . not . toHaveBeenCalled ( ) ;
35
- expect ( onClick ) . not . toHaveBeenCalled ( ) ;
36
-
37
26
userEvent . click ( getByTestId ( "element" ) ) ;
38
27
39
- expect ( onMouseOver ) . toHaveBeenCalledTimes ( 1 ) ;
40
- expect ( onMouseMove ) . toHaveBeenCalledTimes ( 1 ) ;
41
- expect ( onMouseDown ) . toHaveBeenCalledTimes ( 1 ) ;
42
- expect ( onFocus ) . toHaveBeenCalledTimes ( 1 ) ;
43
- expect ( onMouseUp ) . toHaveBeenCalledTimes ( 1 ) ;
44
- expect ( onClick ) . toHaveBeenCalledTimes ( 1 ) ;
28
+ expect ( events ) . toEqual ( [
29
+ "mouseover" ,
30
+ "mousemove" ,
31
+ "mousedown" ,
32
+ "focus" ,
33
+ "mouseup" ,
34
+ "click"
35
+ ] ) ;
45
36
}
46
37
) ;
47
38
48
39
it ( 'should fire the correct events for <input type="checkbox">' , ( ) => {
49
- const onMouseOver = jest . fn ( ) ;
50
- const onMouseMove = jest . fn ( ) ;
51
- const onMouseDown = jest . fn ( ) ;
52
- const onFocus = jest . fn ( ) ;
53
- const onMouseUp = jest . fn ( ) ;
54
- const onClick = jest . fn ( ) ;
55
- const onChange = jest . fn ( ) ;
40
+ const events = [ ] ;
41
+ const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
56
42
const { getByTestId } = render (
57
43
< input
58
44
data-testid = "element"
59
45
type = "checkbox"
60
- onMouseOver = { onMouseOver }
61
- onMouseMove = { onMouseMove }
62
- onMouseDown = { onMouseDown }
63
- onFocus = { onFocus }
64
- onMouseUp = { onMouseUp }
65
- onClick = { onClick }
66
- onChange = { onChange }
46
+ onMouseOver = { eventsHandler }
47
+ onMouseMove = { eventsHandler }
48
+ onMouseDown = { eventsHandler }
49
+ onFocus = { eventsHandler }
50
+ onMouseUp = { eventsHandler }
51
+ onClick = { eventsHandler }
52
+ onChange = { eventsHandler }
67
53
/>
68
54
) ;
69
55
70
- expect ( onMouseOver ) . not . toHaveBeenCalled ( ) ;
71
- expect ( onMouseMove ) . not . toHaveBeenCalled ( ) ;
72
- expect ( onMouseDown ) . not . toHaveBeenCalled ( ) ;
73
- expect ( onFocus ) . not . toHaveBeenCalled ( ) ;
74
- expect ( onMouseUp ) . not . toHaveBeenCalled ( ) ;
75
- expect ( onClick ) . not . toHaveBeenCalled ( ) ;
76
- expect ( onChange ) . not . toHaveBeenCalled ( ) ;
77
-
78
56
userEvent . click ( getByTestId ( "element" ) ) ;
79
57
80
- expect ( onMouseOver ) . toHaveBeenCalledTimes ( 1 ) ;
81
- expect ( onMouseMove ) . toHaveBeenCalledTimes ( 1 ) ;
82
- expect ( onMouseDown ) . toHaveBeenCalledTimes ( 1 ) ;
83
- expect ( onFocus ) . not . toHaveBeenCalledTimes ( 1 ) ;
84
- expect ( onMouseUp ) . toHaveBeenCalledTimes ( 1 ) ;
85
- expect ( onClick ) . toHaveBeenCalledTimes ( 1 ) ;
86
- expect ( onChange ) . toHaveBeenCalledTimes ( 1 ) ;
58
+ expect ( events ) . toEqual ( [
59
+ "mouseover" ,
60
+ "mousemove" ,
61
+ "mousedown" ,
62
+ "mouseup" ,
63
+ "click" ,
64
+ "change"
65
+ ] ) ;
66
+
87
67
expect ( getByTestId ( "element" ) ) . toHaveProperty ( "checked" , true ) ;
88
68
} ) ;
89
69
90
70
it ( "should fire the correct events for <div>" , ( ) => {
91
- const onMouseOver = jest . fn ( ) ;
92
- const onMouseMove = jest . fn ( ) ;
93
- const onMouseDown = jest . fn ( ) ;
94
- const onFocus = jest . fn ( ) ;
95
- const onMouseUp = jest . fn ( ) ;
96
- const onClick = jest . fn ( ) ;
71
+ const events = [ ] ;
72
+ const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
97
73
const { getByTestId } = render (
98
74
< div
99
75
data-testid = "div"
100
- onMouseOver = { onMouseOver }
101
- onMouseMove = { onMouseMove }
102
- onMouseDown = { onMouseDown }
103
- onFocus = { onFocus }
104
- onMouseUp = { onMouseUp }
105
- onClick = { onClick }
76
+ onMouseOver = { eventsHandler }
77
+ onMouseMove = { eventsHandler }
78
+ onMouseDown = { eventsHandler }
79
+ onFocus = { eventsHandler }
80
+ onMouseUp = { eventsHandler }
81
+ onClick = { eventsHandler }
106
82
/>
107
83
) ;
108
84
109
- expect ( onMouseOver ) . not . toHaveBeenCalled ( ) ;
110
- expect ( onMouseMove ) . not . toHaveBeenCalled ( ) ;
111
- expect ( onMouseDown ) . not . toHaveBeenCalled ( ) ;
112
- expect ( onFocus ) . not . toHaveBeenCalled ( ) ;
113
- expect ( onMouseUp ) . not . toHaveBeenCalled ( ) ;
114
- expect ( onClick ) . not . toHaveBeenCalled ( ) ;
115
-
116
85
userEvent . click ( getByTestId ( "div" ) ) ;
117
-
118
- expect ( onMouseOver ) . toHaveBeenCalledTimes ( 1 ) ;
119
- expect ( onMouseMove ) . toHaveBeenCalledTimes ( 1 ) ;
120
- expect ( onMouseDown ) . toHaveBeenCalledTimes ( 1 ) ;
121
- expect ( onFocus ) . not . toHaveBeenCalled ( ) ;
122
- expect ( onMouseUp ) . toHaveBeenCalledTimes ( 1 ) ;
123
- expect ( onClick ) . toHaveBeenCalledTimes ( 1 ) ;
86
+ expect ( events ) . toEqual ( [
87
+ "mouseover" ,
88
+ "mousemove" ,
89
+ "mousedown" ,
90
+ "mouseup" ,
91
+ "click"
92
+ ] ) ;
124
93
} ) ;
125
94
126
95
it ( "toggles the focus" , ( ) => {
0 commit comments