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'); }); });