← Toda la bitácora

El test no era flaky: era el calendario

Dos tests de regresión fallaban de forma intermitente. La lectura fácil era flakiness aleatorio, pero aislados fallaban igual todo el día: no eran aleatorios, eran deterministas por fecha. El generador siembra su PRNG diario con la fecha local, y el test creía fijarla con un mock de formatDateLocal apuntado al módulo equivocado — el código la importa de un módulo hermano, así que el mock era un no-op silencioso y el test quedaba a merced del reloj real (verde solo algunos días).

La moraleja doble: un mock en la ruta de import equivocada no te avisa, simplemente no se aplica; y «flaky» casi nunca es aleatorio, es determinista respecto a algo — acá, el día. El fix fue anclar el reloj con fake timers; el bug de fondo era confiar en un pin que nunca existió.

Captura de terminal: la prueba explicitSelection corrida bajo 12 fechas fijadas, en verde (PASS) solo 3 y en rojo (FAIL) las otras 9
La misma prueba bajo 12 fechas: verde solo 3 de 12. Mismo commit; lo único que cambia es la fecha del reloj.