29 lines
560 B
JavaScript
29 lines
560 B
JavaScript
import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
|
|
function delay(callback) {
|
|
setTimeout(() => {
|
|
callback('Delayed');
|
|
}, 1000);
|
|
}
|
|
|
|
describe('delay function', () => {
|
|
beforeEach(() => {
|
|
vi.useFakeTimers();
|
|
vi.setSystemTime('2024-02-29');
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.useRealTimers();
|
|
});
|
|
|
|
it('should call callback after delay', () => {
|
|
const callback = vi.fn();
|
|
|
|
delay(callback);
|
|
vi.advanceTimersToNextTimer();
|
|
|
|
expect(callback).toHaveBeenCalled();
|
|
expect(new Date()).toBe(null);
|
|
});
|
|
});
|