Skip to content

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

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions