# Implementation Plan - Testing Infrastructure ## Phase 1: Environment & Mock Server [checkpoint: 1a46341] - [x] Task: Scaffold Docker environment 23a59b9 - [x] Create test_data/ directory. - [x] Create docker-compose.test.yml with SilverBullet and an Nginx container serving test_data/. - [x] Task: Integration Test Scaffolding 2bfd9d5 - [x] Create tests/integration_test.ts that uses the actual ts-ics parser on files in test_data/. - [x] Task: Conductor - User Manual Verification 'Environment & Mock Server' (Protocol in workflow.md) ## Phase 2: Playwright E2E Setup - [x] Task: Initialize Playwright 319a955 - [x] Setup Playwright with necessary configurations for Docker (headless, CI mode). - [ ] Task: Implement sync smoke test - [ ] Create tests/e2e/sync.spec.ts. - [ ] Automate login, plug installation (icalendar.plug.js), and triggering the "iCalendar: Sync" command. - [ ] Implement console listener to fail on Error or TypeError. - [ ] Task: Conductor - User Manual Verification 'Playwright E2E Setup' (Protocol in workflow.md) ## Phase 3: Validation & Bug Fix - [ ] Task: Verify Infrastructure against current bug - [ ] Add the problematic .ics to test_data/. - [ ] Confirm that E2E and Integration tests fail with Unknown RRULE property 'WORKWEEKSTART'. - [ ] Task: Implement Fix for WORKWEEKSTART - [ ] Update RRULE_KEY_MAP in icalendar.ts. - [ ] Run tests again to confirm they pass. - [ ] Task: Conductor - User Manual Verification 'Validation & Bug Fix' (Protocol in workflow.md)