Files
introduction-to-testing/examples/scratchpad/fake-time.test.js
Steve Kinney a9e36ee3c8 Play with time
2024-10-02 16:26:35 -05:00

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);
});
});