@@ -5,122 +5,91 @@ import userEvent from "../src";
55
66afterEach ( cleanup ) ;
77
8- describe ( "fireEvent .click" , ( ) => {
8+ describe ( "userEvent .click" , ( ) => {
99 it . each ( [ "input" , "textarea" ] ) (
1010 "should fire the correct events for <%s>" ,
1111 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 ) ) ;
1814 const { getByTestId } = render (
1915 React . createElement ( type , {
2016 "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
2723 } )
2824 ) ;
2925
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-
3726 userEvent . click ( getByTestId ( "element" ) ) ;
3827
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+ ] ) ;
4536 }
4637 ) ;
4738
4839 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 ) ) ;
5642 const { getByTestId } = render (
5743 < input
5844 data-testid = "element"
5945 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 }
6753 />
6854 ) ;
6955
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-
7856 userEvent . click ( getByTestId ( "element" ) ) ;
7957
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+
8767 expect ( getByTestId ( "element" ) ) . toHaveProperty ( "checked" , true ) ;
8868 } ) ;
8969
9070 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 ) ) ;
9773 const { getByTestId } = render (
9874 < div
9975 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 }
10682 />
10783 ) ;
10884
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-
11685 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+ ] ) ;
12493 } ) ;
12594
12695 it ( "toggles the focus" , ( ) => {
0 commit comments