test(utils): mock timer in createCooldown

This commit is contained in:
Marek Polak
2023-09-14 14:07:03 +02:00
committed by Marek Polák
parent e1ff082ad3
commit 99c6394f56

View File

@@ -1,14 +1,15 @@
import { createCooldown } from '../src/createCooldown';
import { createTimeoutPromise } from '../src/createTimeoutPromise';
it('createCooldown', async () => {
it('createCooldown', () => {
jest.useFakeTimers('modern');
const cooldown = createCooldown(20);
expect(cooldown()).toBe(true);
expect(cooldown()).toBe(false);
await createTimeoutPromise(10);
jest.advanceTimersByTime(10);
expect(cooldown()).toBe(false);
await createTimeoutPromise(15);
jest.advanceTimersByTime(10);
expect(cooldown()).toBe(true);
await createTimeoutPromise(5);
jest.advanceTimersByTime(5);
expect(cooldown()).toBe(false);
});