test: replace some slepp with jest.runAllTimers

This commit is contained in:
zpc7 2022-05-07 12:09:25 +08:00
parent 22b89eea5a
commit ad886d1f65

View File

@ -18,6 +18,11 @@ describe('Tooltip', () => {
spyElementPrototype(HTMLElement, 'offsetParent', {
get: () => ({}),
});
jest.useFakeTimers();
});
afterAll(() => {
jest.useRealTimers();
});
it('check `onVisibleChange` arguments', () => {
@ -234,6 +239,7 @@ describe('Tooltip', () => {
});
it('should works for date picker', async () => {
jest.useRealTimers();
const onVisibleChange = jest.fn();
const ref = React.createRef();
@ -257,9 +263,11 @@ describe('Tooltip', () => {
expect(onVisibleChange).toHaveBeenCalledWith(false);
expect(ref.current.props.visible).toBe(false);
expect(container.querySelector('.ant-tooltip-open')).toBeNull();
jest.useFakeTimers();
});
it('should works for input group', async () => {
jest.useRealTimers();
const onVisibleChange = jest.fn();
const ref = React.createRef();
const { container } = render(
@ -284,6 +292,7 @@ describe('Tooltip', () => {
expect(onVisibleChange).toHaveBeenCalledWith(false);
expect(ref.current.props.visible).toBe(false);
expect(container.querySelector('.ant-tooltip-open')).toBeNull();
jest.useFakeTimers();
});
// https://github.com/ant-design/ant-design/issues/20891
@ -346,7 +355,7 @@ describe('Tooltip', () => {
expect(container.getElementsByTagName('span')).toHaveLength(1);
const element = container.getElementsByTagName('span')[0];
fireEvent.mouseEnter(element);
await sleep(500);
jest.runAllTimers();
await waitFor(() => {
expect(document.querySelector(`.ant-tooltip-placement-${placement}`)).not.toBeNull();
@ -357,7 +366,7 @@ describe('Tooltip', () => {
placementList.forEach(placement => testPlacement(`Placement ${placement}`, placement));
});
it('should works for mismatch placement', async () => {
it('should works for mismatch placement', () => {
const { container } = render(
<Tooltip
title="xxxxx"
@ -371,7 +380,7 @@ describe('Tooltip', () => {
);
const button = container.getElementsByTagName('span')[0];
fireEvent.mouseEnter(button);
await sleep(600);
jest.runAllTimers();
expect(document.querySelector('.ant-tooltip')).not.toBeNull();
});