// call wrapper again, but not call fn again, because it's staled constres1 = awaitpromise() expect(res1).toBe(1) expect(fn).toBeCalledTimes(1) expect(awaitpromise()).toBe(1) expect(fn).toBeCalledTimes(1) expect(dummy).toBe(1)
// reset staled promise, make it can be called again awaitpromise.reset() // call wrapper again, and call fn again constres2 = awaitpromise() expect(res2).toBe(2) expect(fn).toBeCalledTimes(2) expect(dummy).toBe(2) })
Create singleton promise function, it can be called only once.
And later you can reset it to make it can be called again.
Example