import { userEvent } from "@testing-library/user-event"; const isUsingFakeTimers = () => { const timer = setTimeout as unknown as { _isMockFunction?: boolean; clock?: unknown; }; return Boolean(timer?._isMockFunction || timer?.clock); }; const advanceTimersIfFake = (delay?: number) => { if (isUsingFakeTimers()) { jest.advanceTimersByTime(delay ?? 0); } return Promise.resolve(); }; /** Create a user that will advance timers only when fake timers are enabled. */ export const user = userEvent.setup({ advanceTimers: advanceTimersIfFake, });