import { describe, it, expect, beforeEach } from 'vitest'; import { AllDayManager } from '../../src/managers/AllDayManager'; import { setupMockDOM, createMockEvent } from '../helpers/dom-helpers'; describe('AllDayManager - Manager Functionality', () => { let allDayManager: AllDayManager; beforeEach(() => { setupMockDOM(); allDayManager = new AllDayManager(); }); describe('Layout Calculation Integration', () => { it('should delegate layout calculation to AllDayLayoutEngine', () => { // Simple integration test to verify manager uses the layout engine correctly const event = createMockEvent('test', 'Test Event', '2024-09-24', '2024-09-24'); const weekDates = ['2024-09-22', '2024-09-23', '2024-09-24', '2024-09-25', '2024-09-26']; const layouts = allDayManager.calculateAllDayEventsLayout([event], weekDates); expect(layouts.size).toBe(1); expect(layouts.has('test')).toBe(true); const layout = layouts.get('test'); expect(layout?.startColumn).toBe(3); // Sept 24 is column 3 expect(layout?.row).toBe(1); }); it('should handle empty event list', () => { const weekDates = ['2024-09-22', '2024-09-23', '2024-09-24', '2024-09-25', '2024-09-26']; const layouts = allDayManager.calculateAllDayEventsLayout([], weekDates); expect(layouts.size).toBe(0); }); it('should handle empty week dates', () => { const event = createMockEvent('test', 'Test Event', '2024-09-24', '2024-09-24'); const layouts = allDayManager.calculateAllDayEventsLayout([event], []); expect(layouts.size).toBe(0); }); }); });