🐕
[jest] check x days later
expect.extend({
toBeXDaysAfter (received, x, epochType = 'milliseconds') {
const recv = (epochType === 'seconds') ? new Date(received * 1000).valueOf() : new Date(received).valueOf()
const today = Date.now()
const dur = recv - today
const durDays = Math.round(dur / 1000 / 60 / 60 / 24)
const msg = `expected ${received} to be ${x} days later`
if (durDays === x) {
return {
message: () => msg,
pass: true
}
} else {
return {
message: () => msg,
pass: false
}
}
}
})
expect(something).toHaveBeenCalledWith({
date: expect.toBeXdaysLater(7),
})
Discussion