Users configure share mode, expiry, and max views before upload; batch summary confirms choices above the queue.
25 lines
923 B
TypeScript
25 lines
923 B
TypeScript
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
import { resolveUploadBatchExpiresAt } from '@/utils/upload/resolveUploadBatchExpiresAt';
|
|
|
|
describe('resolveUploadBatchExpiresAt', () => {
|
|
beforeEach(() => {
|
|
vi.useFakeTimers();
|
|
vi.setSystemTime(new Date('2026-01-01T12:00:00.000Z'));
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.useRealTimers();
|
|
});
|
|
|
|
it('returns null for never', () => {
|
|
expect(resolveUploadBatchExpiresAt('never')).toBeNull();
|
|
});
|
|
|
|
it('adds preset offsets from the reference time', () => {
|
|
expect(resolveUploadBatchExpiresAt('1h')).toBe('2026-01-01T13:00:00.000Z');
|
|
expect(resolveUploadBatchExpiresAt('24h')).toBe('2026-01-02T12:00:00.000Z');
|
|
expect(resolveUploadBatchExpiresAt('7d')).toBe('2026-01-08T12:00:00.000Z');
|
|
expect(resolveUploadBatchExpiresAt('30d')).toBe('2026-01-31T12:00:00.000Z');
|
|
});
|
|
});
|