diff --git a/src/common/test-utils/use-fake-time.ts b/src/common/test-utils/use-fake-time.ts new file mode 100644 index 0000000000..77cd385b4b --- /dev/null +++ b/src/common/test-utils/use-fake-time.ts @@ -0,0 +1,25 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { act } from "@testing-library/react"; + +let usingFakeTime = false; + +export const advanceFakeTime = (milliseconds: number) => { + if (!usingFakeTime) { + throw new Error("Tried to advance fake time but it was not enabled. Call useFakeTime() first."); + } + + act(() => { + jest.advanceTimersByTime(milliseconds); + }); +}; + +export const useFakeTime = (dateTime: string) => { + usingFakeTime = true; + + jest.useFakeTimers(); + + jest.setSystemTime(new Date(dateTime)); +};