fetch-mock-jest
fetch-mock-jest copied to clipboard
when using delay and jest modern fakeTimers it seems to be using a real delay
trafficstars
I was trying to introduce a "delay" on the processing for the response so I used the { delay } option. But noticed my timings are getting randomized.
Upon closer inspection it seemed that there was a real delay once I increased the amount of time I was processing. So it is not respecting the modern jest.useFakeTimers
Ideally I was hoping it will use the setTimeout that is provided by jest so I can control the behaviour, but it is using the real thing.
The work around for anyone interested is
Given
.post("http://asdf.com/refresh", response, {delay: 1000});
Replace with
.post("http://asdf.com/auth",
new Promise((resolve) => setTimeout(() => resolve(response), 1000)))