Being able to flush promise resolution (or rejection) in tests is really, really handy, and [even essential sometimes](https://github.com/facebook/react/issues/14775). [Jest has an open issue for this](https://github.com/facebook/jest/issues/2157) but I'm impatient.23
Setting this up in userland is possible but non-trivial - an adventure, even. I'll lay out what I had to do for any future intrepid types. I'll try to explain the reasoning for all of this and have nothing be magical.45
The over-all target is to do task scheduling entirely in userland so that the task queue can be synchronously run to exhaustion. This entails faking timers and swapping out the native promise implementation for one that'll use the faked timers. All of this will be assuming you're using Jest, but the general ideas are test library agnostic.
3 contributions in the last year
quasicomputational has no activity yet for this period.