Parent
E2E test infrastructure initiative.
Problem
The landing page (apps/landing-page/) has 220+ unit test files at 90% coverage but zero browser E2E tests. Broken links, JS errors, scroll behavior regressions, and responsive layout issues would only be caught by manual inspection.
Scope
New directory: apps/landing-page/tests/e2e/
Core flow tests (~4 tests)
- Homepage loads without console errors
- Scroll to each major section (Hero → Features → Agent Gallery → Install Guide)
- Agent Gallery filter interaction (click category → grid updates)
- Install guide copy button works
Responsive tests (~3 tests)
- Mobile viewport (375px): navigation menu, hero layout
- Tablet viewport (768px): grid layout adapts
- Desktop viewport (1440px): full layout renders
SEO & Accessibility (~3 tests)
- Meta tags present (title, description, og:image)
- Structured data (JSON-LD) is valid
- axe-core accessibility scan — no critical violations
Link validation (~2 tests)
- All internal links resolve (no 404)
- External links have correct href (GitHub, npm)
Technical approach
- Framework: Playwright (
@playwright/test)
- Config:
playwright.config.ts with 3 viewport projects (mobile/tablet/desktop)
- Dev server: Playwright starts Next.js dev server automatically
- CI:
.github/workflows/e2e-landing.yml with Playwright container
- Accessibility:
@axe-core/playwright integration
Test commands
yarn workspace landing-page test:e2e # Run all Playwright tests
yarn workspace landing-page test:e2e --ui # Playwright UI mode (local dev)
Acceptance criteria
Out of scope
- Visual regression testing (pixel comparison)
- Server-side rendering verification
- Performance metrics (Core Web Vitals — separate initiative)
Parent
E2E test infrastructure initiative.
Problem
The landing page (
apps/landing-page/) has 220+ unit test files at 90% coverage but zero browser E2E tests. Broken links, JS errors, scroll behavior regressions, and responsive layout issues would only be caught by manual inspection.Scope
New directory:
apps/landing-page/tests/e2e/Core flow tests (~4 tests)
Responsive tests (~3 tests)
SEO & Accessibility (~3 tests)
Link validation (~2 tests)
Technical approach
@playwright/test)playwright.config.tswith 3 viewport projects (mobile/tablet/desktop).github/workflows/e2e-landing.ymlwith Playwright container@axe-core/playwrightintegrationTest commands
Acceptance criteria
apps/landing-page/playwright.config.tswith 3 viewport projectstest:e2escript inpackage.jsonOut of scope