Repository navigation
test: add Pest browser tests (Playwright) - #43
Merged
Merged
Conversation
Company rule since 2026-10-23: every repository has Pest browser tests (pestphp/pest-plugin-browser with Playwright). The existing Playwright suites in widget/ and e2e/ cover the widget; the feedback page behind signed links, the only HTML the API serves, was only checked as HTML strings. These tests drive it in Chromium, under its real CSP: - message, sender and screenshot render, the image actually loads - the technical tab shows console errors, failed requests and the environment, #technical opens it directly - the message card hides and shows, copy announces itself - a team link completes and reopens the entry and logs who did it, the sender's link has no status buttons - expired and tampered links and typed API URLs get an empty page The suite lives in tests/Browser with its own Browser testsuite and RefreshDatabase. `composer test` and `test:coverage` exclude it, `composer test:browser` runs it. playwright is pinned like the widget's @playwright/test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New lane "pull-request | ci pest browser" on ubuntu-latest (public repository, so no self-hosted runners) with the PHP and Node setup of the pest lane and a PostgreSQL 17 service on a Docker-assigned port. It builds the widget, installs Playwright's Chromium and runs tests/Browser; on failure it uploads the logs and the failure screenshots. The pest, coverage and database matrix lanes run plain `pest`, which would now also pick up the Browser testsuite without a browser, so they exclude it. Their coverage comes from the same tests as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Adds Pest browser tests (
pestphp/pest-plugin-browser, Playwright Chromium) for the feedback page behind signed links, the only HTML the API serves, plus a CI lanepull-request | ci pest browseronubuntu-latestwith PostgreSQL 17.The existing Playwright suites in
widget/ande2e/are unchanged; they keep covering the widget.Tests (
tests/Browser/FeedbackPageTest.php)#technicalopens it directlyby; the sender's read-only link has no status buttonsOther changes
phpunit.xml: newBrowsertestsuite. The pest, coverage and database matrix lanes now runpest --exclude-testsuite=Browser, and so docomposer testandcomposer test:coverage. Coverage comes from the same tests as before.pestphp/pest-plugin-browser^5.1,playwright1.64.1 (pinned like the widget's@playwright/test).tests/Browser/Screenshots) are gitignored. README and CHANGELOG updated.Run locally
🤖 Generated with Claude Code