tldr: use jest.advanceTimersByTime(milliseconds);
The other solutions make sense, but did not work for me. In such case consider:
function toBeTested(){
setTimeout(() => { /* do stuff later */}, 500);
}
it('does stuff later', () =>{
toBeTested();
jest.advanceTimersByTime(600);
expect(/* things to be done */)
});
Docs: https://jestjs.io/docs/timer-mocks#advance-timers-by-time