From c11ac4e2bc2e0c142d6592916069f672b6410317 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Fri, 1 Jul 2022 09:57:35 +0300 Subject: [PATCH] Introduce helper for advancing fake time Signed-off-by: Janne Savolainen --- src/common/test-utils/use-fake-time.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/common/test-utils/use-fake-time.ts 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)); +};