Conversation
Add end-to-end test suite covering navigation, accessibility, content rendering, and responsive design. Tests run across Chromium, Firefox, WebKit, and mobile viewports. Includes: - playwright.config.ts with multi-browser + mobile setup - Navigation tests (page loads, routing, 404, consistency) - Accessibility tests (heading structure, alt text, links, lang, skip link, duplicate IDs) - Content tests (page content, RSS, sitemap, external link security) - Responsive tests (horizontal scroll, font size, touch targets, reflow) - npm scripts (qa, qa:headed, qa:ui, qa:debug, qa:report, qa:codegen) - justfile commands (qa, qa-headed, qa-ui, qa-debug, qa-report, qa-codegen, setup) - Updated .gitignore for Playwright artifacts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR Validation ✅All checks passed! Ready for review. Checks Performed:✓ Linting This is a complete dry-run of the deployment process, ensuring your changes will deploy successfully when merged. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ebefa43ba7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const skipLink = page.locator("a.skip-link, a[href=\"#main-content\"]").first(); | ||
| const skipLinkExists = await skipLink.count() > 0; | ||
|
|
||
| if (skipLinkExists) { |
There was a problem hiding this comment.
Assert skip link presence before validating its target
This test is named skip to content link exists, but it only performs assertions inside if (skipLinkExists), so a page with no skip link passes without failure. That creates a false negative in the accessibility suite and can let a regression of a core keyboard-navigation affordance ship undetected.
Useful? React with 👍 / 👎.
| forbidOnly: !!process.env.CI, | ||
| retries: process.env.CI ? 2 : 0, | ||
| workers: process.env.CI ? 1 : undefined, | ||
| reporter: process.env.CI ? "github" : "list", |
There was a problem hiding this comment.
Configure an HTML reporter for qa:report
The project exposes qa:report (playwright show-report), but this config sets the reporter to list locally and github in CI, which do not generate the HTML report that show-report serves (npx playwright show-report --help says it "show HTML report"). In this setup, npm run qa:report fails with "No report found" unless users manually override reporters, so the documented report workflow is broken by default.
Useful? React with 👍 / 👎.
|
PR 29 Playwright Test Infrastructure Review Overall this is a solid foundation for end-to-end testing. Multi-browser coverage is good and the webServer auto-build approach ensures tests run against a real production build. ISSUES TO ADDRESS:
MINOR NOTES:
POSITIVES:
Happy to approve once items 1-3 are addressed; 4-5 are easy fixes. |
Summary
Dependencies
This PR should be merged after the following PRs, as the tests validate the state they establish:
Design decisions
xml2jsdependency, and the core test suites already cover structural checks on all major pageswebServerconfigTest plan
just setupto install Playwright browsersjust qato execute full test suitejust qa-headedto visually verify🤖 Generated with Claude Code