Mocking Date
Vitest comes with mockdate package that lets you easily manipulate system date in your tests.
All useful methods are located on vi object that you can import from vitest package or access globally, if you have global config enabled.
mockCurrentDate
- Type:
(date: string | number | Date) => void
Sets current date to the one that was passed. All Date calls will return this date.
Useful if you need to test anything that depends on the current date - for example luxon calls inside your code.
const date = new Date(1998, 11, 19)
vi.mockCurrentDate(date)
expect(Date.now()).toBe(date.valueOf())
getMockedDate
- Type:
() => string | number | Date
Returns mocked current date that was set using mockCurrentDate. If date is not mocked, will return null.
restoreCurrentDate
- Type:
() => void
Restores Date back to its native implementation.