import { describe, it, expect } from 'vitest'; import { closedCycleUpToDay, isCycleClosed } from '../reportCycle.ts'; describe('isCycleClosed', () => { it('is false when endDate is missing', () => { expect(isCycleClosed(undefined)).toBe(false); expect(isCycleClosed(null)).toBe(false); expect(isCycleClosed('')).toBe(false); }); it('is true when endDate is set', () => { expect(isCycleClosed('2026-06-25')).toBe(true); expect(isCycleClosed(new Date('2026-06-25T00:00:00'))).toBe(true); }); }); describe('closedCycleUpToDay', () => { it('returns the inclusive report day of endDate', () => { expect(closedCycleUpToDay('2026-05-22', '2026-05-30')).toBe(8); }); it('returns 0 when endDate is missing or before start', () => { expect(closedCycleUpToDay('2026-05-22', null)).toBe(0); expect(closedCycleUpToDay('2026-05-22', '2026-05-20')).toBe(0); }); });