11import React from 'react' ;
2- import { render , fireEvent } from '@testing-library/react' ;
2+ import { createEvent , render , fireEvent } from '@testing-library/react' ;
33import Steps from '../src' ;
44
55describe ( 'Steps' , ( ) => {
@@ -283,6 +283,7 @@ describe('Steps', () => {
283283
284284 it ( 'key board support' , ( ) => {
285285 const onChange = jest . fn ( ) ;
286+ const onItemClick = jest . fn ( ) ;
286287 const { container } = render (
287288 < Steps
288289 current = { 0 }
@@ -295,15 +296,23 @@ describe('Steps', () => {
295296 {
296297 title : 'Waiting' ,
297298 description : 'This is a description' ,
299+ onClick : onItemClick ,
298300 } ,
299301 ] }
300302 /> ,
301303 ) ;
302304
303305 const button = container . querySelectorAll ( '[role="button"]' ) [ 1 ] ;
304- fireEvent . keyDown ( button , { key : 'Enter' , keyCode : 13 , which : 13 } ) ;
305-
306- expect ( onChange ) . toHaveBeenCalledWith ( 1 ) ;
306+ const enterEvent = createEvent . keyDown ( button , { key : 'Enter' } ) ;
307+ const spaceEvent = createEvent . keyDown ( button , { key : ' ' } ) ;
308+ fireEvent ( button , enterEvent ) ;
309+ fireEvent ( button , spaceEvent ) ;
310+
311+ expect ( onChange ) . toHaveBeenNthCalledWith ( 1 , 1 ) ;
312+ expect ( onChange ) . toHaveBeenNthCalledWith ( 2 , 1 ) ;
313+ expect ( onItemClick ) . toHaveBeenCalledTimes ( 2 ) ;
314+ expect ( enterEvent . defaultPrevented ) . toBe ( true ) ;
315+ expect ( spaceEvent . defaultPrevented ) . toBe ( true ) ;
307316 } ) ;
308317
309318 it ( 'itemRender' , ( ) => {
0 commit comments