ant-design/components/message/__tests__/util.ts

26 lines
578 B
TypeScript
Raw Normal View History

import { act, fireEvent } from '../../../tests/utils';
export async function awaitPromise() {
for (let i = 0; i < 10; i += 1) {
// eslint-disable-next-line no-await-in-loop
await Promise.resolve();
}
}
export async function triggerMotionEnd(selector: string = '.ant-message-move-up-leave') {
await awaitPromise();
// Flush css motion state update
for (let i = 0; i < 5; i += 1) {
act(() => {
jest.runAllTimers();
});
}
document.querySelectorAll(selector).forEach(ele => {
fireEvent.animationEnd(ele);
});
await awaitPromise();
}