ant-design/tests/utils.ts
lijianan db0344c85f
test: migrate part of ConfigProvider tests (#37142)
* test: migrate part of ConfigProvider tests

* test: migrate part of ConfigProvider tests

* test: update snap

* test: update snap

* test: migrate part of ConfigProvider tests

* fix: commented error case

* chore: update snapshot name

* test: csp test case

* test: revert test case

* test: Update snapshot

* test: Update ser logic

* test: more cov

* test: cascader snapshit

* test: update match

* test: more detact

* test: more handler

* chore: Update snapshot

* test: Table test case

Co-authored-by: 二货机器人 <smith3816@gmail.com>
2022-08-22 22:54:38 +08:00

53 lines
1.5 KiB
TypeScript

import MockDate from 'mockdate';
import type { ReactElement } from 'react';
import { StrictMode } from 'react';
import type { RenderOptions } from '@testing-library/react';
import { render, act } from '@testing-library/react';
import { _rs as onLibResize } from 'rc-resize-observer/lib/utils/observerUtil';
import { _rs as onEsResize } from 'rc-resize-observer/es/utils/observerUtil';
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<RenderOptions, 'wrapper'>) =>
render(ui, { wrapper: StrictMode, ...options });
/**
* Pure render like `@testing-lib` render which will not wrap with StrictMode.
*
* Please only use with render times times of memo usage case.
*/
const pureRender = render;
export { customRender as render, pureRender };
export const triggerResize = (target: Element) => {
const originGetBoundingClientRect = target.getBoundingClientRect;
target.getBoundingClientRect = () => ({ width: 510, height: 903 } as DOMRect);
act(() => {
onLibResize([{ target } as ResizeObserverEntry]);
onEsResize([{ target } as ResizeObserverEntry]);
});
target.getBoundingClientRect = originGetBoundingClientRect;
};
export * from '@testing-library/react';