import MockDate from 'mockdate'; import type { ReactElement } from 'react'; import { StrictMode } from 'react'; import { act } from 'react-dom/test-utils'; import type { RenderOptions } from '@testing-library/react'; import { render } from '@testing-library/react'; export function setMockDate(dateString = '2017-09-18T03:30:07.795') { MockDate.set(dateString); } export function resetMockDate() { MockDate.reset(); } const globalTimeout = global.setTimeout; export const sleep = async (timeout = 0) => { await act(async () => { await new Promise(resolve => { globalTimeout(resolve, timeout); }); }); }; const customRender = (ui: ReactElement, options?: Omit) => render(ui, { wrapper: StrictMode, ...options }); export { customRender as render }; export * from '@testing-library/react';