# Calendar Entry Test Fixtures ## Purpose Define canonical calendar entries used across admin UI, public UI, CalDAV, ICS, and API tests so scenarios are consistent end-to-end. ## Global Assumptions - Timezone baseline: `Europe/London` - Date format: ISO 8601 in docs, converted as needed by UI/API - IDs/UIDs are stable in test environments ## Fixture Set ### CE-001 Single Timed Event - Title: `Board Meeting` - Location: `Room A` - Category: `Governance` - Start: `2026-04-01T10:00:00+01:00` - End: `2026-04-01T11:30:00+01:00` - Repeat: `none` - Description: `Quarterly board review.` ### CE-002 All-Day Event - Title: `Office Closed` - Location: `HQ` - Category: `Operations` - Start: `2026-05-04` (all day) - End: `2026-05-05` (exclusive end for all-day semantics) - Repeat: `none` - Description: `Public holiday closure.` ### CE-003 Daily Recurrence (Count-Limited) - Title: `Daily Standup` - Location: `Online` - Category: `Team` - Start: `2026-04-06T09:00:00+01:00` - End: `2026-04-06T09:15:00+01:00` - Repeat: `daily` - Custom interval: `1` - Range mode: `count` - Count: `10` - Description: `15 minute sync.` ### CE-004 Weekly Recurrence (No End) - Title: `Community Lunch` - Location: `Cafeteria` - Category: `Community` - Start: `2026-04-08T12:30:00+01:00` - End: `2026-04-08T13:30:00+01:00` - Repeat: `weekly` - Custom interval: `1` - Range mode: `no_end` - Description: `Weekly community lunch.` ### CE-005 Monthly Recurrence (Until Date) - Title: `Finance Close` - Location: `Finance Office` - Category: `Finance` - Start: `2026-04-30T17:00:00+01:00` - End: `2026-04-30T18:00:00+01:00` - Repeat: `monthly` - Custom interval: `1` - Range mode: `until` - Until: `2026-08-31` - Description: `Month-end close process.` ### CE-006 Yearly Recurrence - Title: `Annual Conference` - Location: `Main Hall` - Category: `Events` - Start: `2026-06-15T10:00:00+01:00` - End: `2026-06-15T17:00:00+01:00` - Repeat: `yearly` - Custom interval: `1` - Range mode: `count` - Count: `3` - Description: `Annual community conference.` ### CE-007 Custom Every 2 Weeks (Until Date) - Title: `Fortnightly Coaching` - Location: `Online` - Category: `Training` - Start: `2026-04-07T15:00:00+01:00` - End: `2026-04-07T16:00:00+01:00` - Repeat: `custom` - Base unit: `weekly` - Interval: `2` - Range mode: `until` - Until: `2026-07-31` - Description: `Coaching check-in.` ### CE-008 DST Boundary Event - Title: `DST Validation Event` - Location: `Lab` - Category: `QA` - Start: `2026-10-25T00:30:00+01:00` - End: `2026-10-25T02:30:00+00:00` - Repeat: `none` - Description: `Validates DST transition rendering.` ### CE-009 Leap-Year Annual Event - Title: `Leap Day Marker` - Location: `Calendar` - Category: `QA` - Start: `2028-02-29T09:00:00+00:00` - End: `2028-02-29T10:00:00+00:00` - Repeat: `yearly` - Custom interval: `1` - Range mode: `count` - Count: `3` - Description: `Leap day recurrence behavior.` ### CE-010 Recurring Event with Exception Delete - Title: `Therapy Session` - Location: `Clinic` - Category: `Health` - Start: `2026-04-03T14:00:00+01:00` - End: `2026-04-03T15:00:00+01:00` - Repeat: `weekly` - Custom interval: `1` - Range mode: `count` - Count: `8` - Description: `Used for single-occurrence delete exception tests.` - Exception target occurrence: `2026-04-17T14:00:00+01:00` (delete this occurrence only) ## Core Assertions by Fixture - CE-001/CE-002 validate single-event CRUD, all-day handling, UI display. - CE-003..CE-007 validate recurrence creation, expansion, update, and persistence. - CE-008 validates DST render/sync behavior. - CE-009 validates leap-year recurrence behavior. - CE-010 validates recurrence exception behavior (no series split).