Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Split comprehensive E2E documentation into focused documents: - tests-e2e-architecture.md: Core principles and patterns (~300 lines) - tests-e2e-examples.md: Detailed code examples (~800 lines) - tests-e2e-migration.md: Phased implementation plan (~400 lines) - tests-e2e.md: Overview and quick reference (now ~340 lines) Key improvements: - Performance-conscious selector strategy (semantic > CSS > data-testid) - Clear guidance on testing Selected Event workflows (3 triggers, 3 cues, Exception) - Filter chip testing patterns (map, date, search) - Console log usage for state validation - Mobile testing guidance (iPhone 16) - Refactor-proof test patterns for ai-proposal.md changes Rationale: Original 1600+ line document was difficult to navigate for both humans and AI agents. Split structure makes it easier to find relevant information and understand best practices. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Verified actual codebase implementation and corrected documentation: Key corrections: - testSource.ts: Currently generates random events, needs stable event set added - Filter chips: Already have data-testid (date/map/search-filter-chip) - use them! - npm scripts: Follow existing test:e2e:[descriptor] convention - Event structure: Verified CmfEvent type and resolved_location fields - DOM structure: Confirmed EventList uses semantic HTML with role="row" Changes made: - tests-e2e-migration.md: Added assumption notes, corrected testSource.ts approach - tests-e2e-examples.md: Added note about existing filter chip data-testid - tests-e2e-architecture.md: Clarified filter chips already have data-testid Assumptions now explicitly noted with: - "⚠️ ASSUMPTIONS:" sections - "If assumptions incorrect but close, adjust as needed" - "If assumptions way off, pause and ask for direction" Verified against actual code: - src/lib/api/eventSources/testSource.ts - src/components/events/EventList.tsx - src/components/events/ActiveFilters.tsx - tests/e2e/test-utils.ts - package.json 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Added stable test data and smoke tests for critical user workflows. Changes: - testSource.ts: Added stable event sets (test:stable, test:timezone) with dynamic dates - smoke.spec.ts: Created 3 smoke tests (load, today filter, selected event) - playwright.config.ts: Added mobile-iphone16 project (393×852 viewport) - package.json: Added test:e2e:smoke, test:e2e:mobile, test:e2e:full, test:report scripts - test-utils.ts: Fixed error detection (only flag actual error/pageerror types) Test Results: 5/6 passing (83%) - ✅ Desktop Chrome: All 3 tests passing - ✅ Mobile iPhone 16: 2/3 tests passing -⚠️ Mobile "Workflow 1" timing out early (32 logs vs 109 desktop) Known Issues: - Mobile test occasionally times out before reaching user-interactive state - Requires dev server running (npm run dev) before tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Update tests-e2e-migration.md and tests.md to reflect completed Phase 0: - Mark all Phase 0 tasks as completed (2025-10-29) - Add test results showing 3/3 smoke tests passing in ~30s - Document known issues (timeout under load, mobile timing) - Add comprehensive E2E command reference to tests.md - Fix DST-related regex patterns in page-load.spec.ts Phase 0 deliverables now documented: - testSource.ts with 4 stable events + 1 timezone event - 3 smoke tests for critical workflows - Mobile testing configuration (iPhone 16) - New npm scripts: test:e2e:smoke, test:e2e:mobile, test:e2e:full 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Implement comprehensive E2E tests for core user workflows: **Selected Event Tests (4/4 passing):** - Trigger 1: Click map marker selects event - Trigger 2: Click event row selects event - Trigger 3: Load with se parameter selects event - Exception: Close popup deselects and unfreezes All tests verify 3 visual cues: popup visible, row highlighted, URL updated Exception test verifies frozen event list behavior **Filter Chip Tests (4/6 passing, 2 skipped):** - Date filter: Weekend quick filter creates chip ✅ - Date filter: Click chip removes filter ✅ - Search filter: Type search creates chip ✅ - Search filter: Click chip clears search ✅ - Map filter: Pan map tests (2 skipped - unreliable with test data) Tests use stable test events (test:stable) and data-testid selectors Average execution time: ~30-35s for all tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Mark Phase 1 as completed with actual results: - 10 workflow tests implemented (8 passing, 2 skipped) - Selected Event tests: 4/4 passing on desktop and mobile - Filter Chip tests: 4/6 passing (2 map tests skipped) - Mobile testing: All tests run on both platforms - Execution time: ~60s for combined smoke + workflow tests Phase 1 Summary: - Actual effort: ~4-6 hours vs estimated 12-17 hours - Coverage: Selected Events (3 triggers + exception) and Filter Chips - Test results: 19 passed, 4 skipped, 3 flaky when run together - Created user-workflows.spec.ts with comprehensive test suite 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Create custom Playwright reporter that shows detailed summary at END:
- Lists ALL passed test names (not just count)
- Lists ALL failed test names
- Lists ALL skipped test names
- Shows total summary line
Before END:
"3 passed (31.5s)"
After END:
"✅ PASSED (3):
[desktop-chrome] › Test 1
[desktop-chrome] › Test 2
[desktop-chrome] › Test 3
TOTAL: 3 tests (3 passed, 0 failed, 0 skipped)"
Created tests/e2e/summary-reporter.ts implementing Reporter interface
Updated playwright.config.ts to use custom reporter
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
1. Increased webServer timeout from 10s to 60s - Next.js needs time to compile on first run - Prevents "Timed out waiting from config.webServer" errors 2. Fixed custom reporter to correctly count all test statuses - Now tracks timedOut and interrupted tests as failed - Each (project, test) combination counted separately - Eliminates undercount bug (was showing 19 failed instead of 31) 3. Better error messages and test output clarity - Summary shows all test names grouped by status - Clear separation: ✅ PASSED, ❌ FAILED, ⏭️ SKIPPED - Accurate totals matching Playwright's count Test results: Reporter now correctly shows counts matching Playwright's list reporter in all scenarios tested. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…vscode. For port 3000 (app) and 9323 (playwright report), ask to fwd
…ated too late, making map bounds problems.
…sn't change, don't trigger updates. Updated tests.
…st (test itself passes consistently when run). And fixed fsd test that was skipped, still working on sq=unresolved test
… that all tests eventually pass by re-running only last failed tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal is to get end-to-end (e2e) tests working consistently and thoroughly so we can be confident during a refactor that functionality is not broken