import { debounce } from './debounce' ; jest . useFakeTimers ( ) ; describe ( 'debounce' , ( ) => { let func ; let debouncedFunc ; beforeEach ( ( ) => { func = jest . fn ( ) ; debouncedFunc = debounce ( func , 1000 ) ; } ) ; test ( 'should execute just once' , ( ) => { for ( let i = 0 ; i < 100 ; i ++ ) { debouncedFunc ( ) ; } jest . runAllTimers ( ) ; expect ( func ) . toBeCalledTimes ( 1 ) ; } ) ; } ) ;