@@ -92,6 +92,62 @@ describe("userEvent.click", () => {
92
92
expect ( getByTestId ( "element" ) ) . toHaveProperty ( "checked" , false ) ;
93
93
} ) ;
94
94
95
+ it ( 'should fire the correct events for <input type="radio">' , ( ) => {
96
+ const events = [ ] ;
97
+ const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
98
+ const { getByTestId } = render (
99
+ < input
100
+ data-testid = "element"
101
+ type = "radio"
102
+ onMouseOver = { eventsHandler }
103
+ onMouseMove = { eventsHandler }
104
+ onMouseDown = { eventsHandler }
105
+ onFocus = { eventsHandler }
106
+ onMouseUp = { eventsHandler }
107
+ onClick = { eventsHandler }
108
+ onChange = { eventsHandler }
109
+ />
110
+ ) ;
111
+
112
+ userEvent . click ( getByTestId ( "element" ) ) ;
113
+
114
+ expect ( events ) . toEqual ( [
115
+ "mouseover" ,
116
+ "mousemove" ,
117
+ "mousedown" ,
118
+ "mouseup" ,
119
+ "click" ,
120
+ "change"
121
+ ] ) ;
122
+
123
+ expect ( getByTestId ( "element" ) ) . toHaveProperty ( "checked" , true ) ;
124
+ } ) ;
125
+
126
+ it ( 'should fire the correct events for <input type="radio" disabled>' , ( ) => {
127
+ const events = [ ] ;
128
+ const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
129
+ const { getByTestId } = render (
130
+ < input
131
+ data-testid = "element"
132
+ type = "radio"
133
+ onMouseOver = { eventsHandler }
134
+ onMouseMove = { eventsHandler }
135
+ onMouseDown = { eventsHandler }
136
+ onFocus = { eventsHandler }
137
+ onMouseUp = { eventsHandler }
138
+ onClick = { eventsHandler }
139
+ onChange = { eventsHandler }
140
+ disabled
141
+ />
142
+ ) ;
143
+
144
+ userEvent . click ( getByTestId ( "element" ) ) ;
145
+
146
+ expect ( events ) . toEqual ( [ ] ) ;
147
+
148
+ expect ( getByTestId ( "element" ) ) . toHaveProperty ( "checked" , false ) ;
149
+ } ) ;
150
+
95
151
it ( "should fire the correct events for <div>" , ( ) => {
96
152
const events = [ ] ;
97
153
const eventsHandler = jest . fn ( evt => events . push ( evt . type ) ) ;
0 commit comments