# 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
- [ ] Task: Initialize Playwright
    - [ ] 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)
