Updates tests to use arrays instead of Maps for storing layouts. This simplifies the data structures and allows for more straightforward assertions.
41 lines
No EOL
1.6 KiB
TypeScript
41 lines
No EOL
1.6 KiB
TypeScript
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.length).toBe(1);
|
|
expect(layouts[0].calenderEvent.id).toBe('test');
|
|
expect(layouts[0].startColumn).toBe(3); // Sept 24 is column 3
|
|
expect(layouts[0].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.length).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.length).toBe(0);
|
|
});
|
|
});
|
|
}); |