23 lines
802 B
TypeScript
23 lines
802 B
TypeScript
import { normalizeAd } from 'soapbox/normalizers';
|
|
|
|
import { isExpired } from '../ads';
|
|
|
|
/** 3 minutes in milliseconds. */
|
|
const threeMins = 3 * 60 * 1000;
|
|
|
|
/** 5 minutes in milliseconds. */
|
|
const fiveMins = 5 * 60 * 1000;
|
|
|
|
test('isExpired()', () => {
|
|
const now = new Date();
|
|
const iso = now.toISOString();
|
|
const epoch = now.getTime();
|
|
|
|
// Sanity tests.
|
|
expect(isExpired(normalizeAd({ expires_at: iso }))).toBe(true);
|
|
expect(isExpired(normalizeAd({ expires_at: new Date(epoch + 999999).toISOString() }))).toBe(false);
|
|
|
|
// Testing the 5-minute mark.
|
|
expect(isExpired(normalizeAd({ expires_at: new Date(epoch + threeMins).toISOString() }), fiveMins)).toBe(true);
|
|
expect(isExpired(normalizeAd({ expires_at: new Date(epoch + fiveMins + 1000).toISOString() }), fiveMins)).toBe(false);
|
|
});
|