mirror of
https://gitee.com/ant-design/ant-design.git
synced 2024-12-04 04:58:55 +08:00
test: try mock Date.now to reduce test time
This commit is contained in:
parent
b277a963f0
commit
83022a4cff
@ -1,15 +1,38 @@
|
|||||||
import scrollTo from '../scrollTo';
|
import scrollTo from '../scrollTo';
|
||||||
import { sleep } from '../../../tests/utils';
|
|
||||||
|
|
||||||
describe('Test ScrollTo function', () => {
|
describe('Test ScrollTo function', () => {
|
||||||
|
let dateNowMock;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
jest.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(() => {
|
||||||
|
jest.useRealTimers();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
dateNowMock = jest
|
||||||
|
.spyOn(Date, 'now')
|
||||||
|
.mockImplementationOnce(() => 0)
|
||||||
|
.mockImplementationOnce(() => 1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
dateNowMock.mockRestore();
|
||||||
|
});
|
||||||
|
|
||||||
it('test scrollTo', async () => {
|
it('test scrollTo', async () => {
|
||||||
const scrollToSpy = jest.spyOn(window, 'scrollTo').mockImplementation((x, y) => {
|
const scrollToSpy = jest.spyOn(window, 'scrollTo').mockImplementation((x, y) => {
|
||||||
window.scrollY = y;
|
window.scrollY = y;
|
||||||
window.pageYOffset = y;
|
window.pageYOffset = y;
|
||||||
});
|
});
|
||||||
|
|
||||||
scrollTo(1000);
|
scrollTo(1000);
|
||||||
await sleep(500);
|
|
||||||
|
jest.runAllTimers();
|
||||||
expect(window.pageYOffset).toBe(1000);
|
expect(window.pageYOffset).toBe(1000);
|
||||||
|
|
||||||
scrollToSpy.mockRestore();
|
scrollToSpy.mockRestore();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -18,7 +41,7 @@ describe('Test ScrollTo function', () => {
|
|||||||
scrollTo(1000, {
|
scrollTo(1000, {
|
||||||
callback: cbMock,
|
callback: cbMock,
|
||||||
});
|
});
|
||||||
await sleep(500);
|
jest.runAllTimers();
|
||||||
expect(cbMock).toHaveBeenCalledTimes(1);
|
expect(cbMock).toHaveBeenCalledTimes(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -27,7 +50,7 @@ describe('Test ScrollTo function', () => {
|
|||||||
scrollTo(1000, {
|
scrollTo(1000, {
|
||||||
getContainer: () => div,
|
getContainer: () => div,
|
||||||
});
|
});
|
||||||
await sleep(500);
|
jest.runAllTimers();
|
||||||
expect(div.scrollTop).toBe(1000);
|
expect(div.scrollTop).toBe(1000);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user