Skip to content

test(landing): add Playwright E2E tests (Phase 2) #1499

@JeremyDev87

Description

@JeremyDev87

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

  • Playwright installed and configured in apps/landing-page/
  • ≥10 E2E tests covering core flows, responsive, SEO, a11y
  • playwright.config.ts with 3 viewport projects
  • test:e2e script in package.json
  • CI workflow with Playwright container
  • axe-core scan passes with 0 critical violations
  • Screenshot artifacts on failure (uploaded to CI)

Out of scope

  • Visual regression testing (pixel comparison)
  • Server-side rendering verification
  • Performance metrics (Core Web Vitals — separate initiative)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions