Calendar/test/helpers/config-helpers.ts

59 lines
1.6 KiB
TypeScript
Raw Normal View History

/**
* Test helpers for creating mock Configuration objects
*/
import { Configuration } from '../../src/configurations/CalendarConfig';
import { ICalendarConfig } from '../../src/configurations/ICalendarConfig';
import { IGridSettings } from '../../src/configurations/GridSettings';
import { IDateViewSettings } from '../../src/configurations/DateViewSettings';
import { ITimeFormatConfig } from '../../src/configurations/TimeFormatConfig';
/**
* Create a minimal test configuration with default values
*/
export function createTestConfig(overrides: Partial<{
timezone: string;
hourHeight: number;
snapInterval: number;
}> = {}): Configuration {
const gridSettings: IGridSettings = {
hourHeight: overrides.hourHeight ?? 60,
gridStartTime: '00:00',
gridEndTime: '24:00',
workStartTime: '08:00',
workEndTime: '17:00',
snapInterval: overrides.snapInterval ?? 15,
gridStartThresholdMinutes: 15
};
const dateViewSettings: IDateViewSettings = {
periodType: 'week',
firstDayOfWeek: 1
};
const timeFormatConfig: ITimeFormatConfig = {
timezone: overrides.timezone ?? 'Europe/Copenhagen',
locale: 'da-DK',
showSeconds: false
};
const calendarConfig: ICalendarConfig = {
gridSettings,
dateViewSettings,
timeFormatConfig,
currentWorkWeek: 'standard',
currentView: 'week',
selectedDate: new Date().toISOString()
};
return new Configuration(
calendarConfig,
gridSettings,
dateViewSettings,
timeFormatConfig,
'standard',
'week',
new Date()
);
}