131 lines
3.6 KiB
Markdown
131 lines
3.6 KiB
Markdown
# 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).
|