Explorar el Código

fix(test): drain macrotasks via setTimeout, not setImmediate

setImmediate is a Node global not declared in the frontend's DOM tsconfig,
so tsc --noEmit failed with 'Cannot find name setImmediate'. setTimeout is
universally typed and still flushes React's pending setImmediate: looping
the awaits keeps afterEach unresolved across several event-loop iterations,
so the queued check-phase callback fires while window still exists.
MHSanaei hace 9 horas
padre
commit
48f470c465
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      frontend/src/test/setup.components.ts

+ 1 - 1
frontend/src/test/setup.components.ts

@@ -71,6 +71,6 @@ afterEach(async () => {
    * one behind the first.
    */
   for (let i = 0; i < 3; i += 1) {
-    await new Promise((resolve) => setImmediate(resolve));
+    await new Promise((resolve) => setTimeout(resolve, 0));
   }
 });