import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { parseRefreshExpiry, REFRESH_COOKIE_DAYS } from '@/lib/refreshTokenExpiry' describe('parseRefreshExpiry', () => { beforeEach(() => { vi.useFakeTimers() vi.setSystemTime(new Date('2026-01-01T00:00:00.000Z')) }) afterEach(() => { vi.useRealTimers() }) it('uses the server-provided expiresAt when it is a valid date string', () => { expect(parseRefreshExpiry('2026-02-01T00:00:00.000Z')).toBe(Date.parse('2026-02-01T00:00:00.000Z')) }) it('falls back to REFRESH_COOKIE_DAYS from now when expiresAt is missing', () => { expect(parseRefreshExpiry(undefined)).toBe(Date.now() + REFRESH_COOKIE_DAYS * 24 * 60 * 60 * 1000) }) it('falls back to REFRESH_COOKIE_DAYS from now when expiresAt is unparsable', () => { expect(parseRefreshExpiry('not-a-date')).toBe(Date.now() + REFRESH_COOKIE_DAYS * 24 * 60 * 60 * 1000) }) })