import { getCalendarRange } from '@/utils/dateUtils' describe('getCalendarRange', () => { it('Nov 2025 (5 weeks): 2025-10-27 to 2025-11-30', () => { const { start, end } = getCalendarRange( new Date('2025-11-01T00:00:00.000Z') ) expect(start.toISOString().slice(0, 10)).toBe('2025-10-27') expect(end.toISOString().slice(0, 10)).toBe('2025-11-30') }) it('Dec 2025 (6 weeks): end Sunday 2026-01-04', () => { const { start, end } = getCalendarRange( new Date('2025-12-01T00:00:00.000Z') ) expect(start.toISOString().slice(0, 10)).toBe('2025-12-01') expect(end.toISOString().slice(0, 10)).toBe('2026-01-04') }) it('Feb 2025 (short month): end Sunday 2025-03-02', () => { const { start, end } = getCalendarRange( new Date('2025-02-01T00:00:00.000Z') ) expect(start.toISOString().slice(0, 10)).toBe('2025-01-27') expect(end.toISOString().slice(0, 10)).toBe('2025-03-02') }) it('sets boundary times correctly (start 00:00, end 23:59)', () => { const { start, end } = getCalendarRange( new Date('2025-11-01T00:00:00.000Z') ) expect(start.getHours()).toBe(0) expect(start.getMinutes()).toBe(0) expect(start.getSeconds()).toBe(0) expect(end.getHours()).toBe(23) expect(end.getMinutes()).toBe(59) }) })