2019-01-12 11:33:27 +08:00
|
|
|
import moment from 'moment';
|
|
|
|
import MockDate from 'mockdate';
|
2020-06-11 15:58:41 +08:00
|
|
|
import { nextTick } from 'vue';
|
2018-05-13 23:11:51 +08:00
|
|
|
|
2019-01-12 11:33:27 +08:00
|
|
|
export function setMockDate(dateString = '2017-09-18T03:30:07.795') {
|
|
|
|
MockDate.set(moment(dateString));
|
2018-05-13 23:11:51 +08:00
|
|
|
}
|
|
|
|
|
2019-01-12 11:33:27 +08:00
|
|
|
export function resetMockDate() {
|
|
|
|
MockDate.reset();
|
2018-05-13 23:11:51 +08:00
|
|
|
}
|
2018-06-06 10:48:15 +08:00
|
|
|
|
2019-01-12 11:33:27 +08:00
|
|
|
export function asyncExpect(fn, timeout) {
|
|
|
|
return new Promise(resolve => {
|
2018-06-06 10:48:15 +08:00
|
|
|
if (typeof timeout === 'number') {
|
|
|
|
setTimeout(() => {
|
2019-01-12 11:33:27 +08:00
|
|
|
fn();
|
|
|
|
resolve();
|
|
|
|
}, timeout);
|
2018-06-06 10:48:15 +08:00
|
|
|
} else {
|
2020-06-11 15:58:41 +08:00
|
|
|
nextTick(() => {
|
2019-01-12 11:33:27 +08:00
|
|
|
fn();
|
|
|
|
resolve();
|
|
|
|
});
|
2018-06-06 10:48:15 +08:00
|
|
|
}
|
2019-01-12 11:33:27 +08:00
|
|
|
});
|
2018-06-06 10:48:15 +08:00
|
|
|
}
|
2020-03-07 19:45:13 +08:00
|
|
|
export const sleep = (timeout = 0) => new Promise(resolve => setTimeout(resolve, timeout));
|