feat(frontend): e2e onboarding guard tests#4509
Conversation
|
🚅 Deployed to the rivet-pr-4509 environment in rivet-frontend
|
PR Review: feat(frontend): e2e onboarding guard testsThis PR adds comprehensive E2E tests for the onboarding flow and improves the test infrastructure. Overall it's well-structured and a meaningful improvement over the previous state. Positives
Issues1. Missing newline at end of The file ends with 2. Datacenter mock shape may be incorrect In the backend step regression test, the mock response uses: { label: 1, name: "atl", url: "https://atl.rivet.run" }The 3. await this.page.getByRole("combobox").click();
await this.page.getByRole("option").first().click();If there are multiple comboboxes on the page (e.g., other selects on the backend step), 4. Each test creates a real project via the cloud API Tests like "provider selection grid renders all expected providers" create a real project just to reach the wizard. If project creation is slow or flaky, all downstream tests will be brittle. Consider whether the wizard could be reached without a project-creation round-trip, or at least share a single created project across tests in the 5. Removed The old engine E2E job had 6. Concurrency group cancels across all branches concurrency:
group: frontend-${{ github.ref }}
cancel-in-progress: trueThis will cancel in-progress runs on concurrency:
group: frontend-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}Minor Notes
SummaryThe core testing approach is sound and the new tests cover meaningful scenarios. Main items worth addressing before merge: the datacenter mock shape (2), the overly broad combobox locator (3), and the concurrency group behaviour on |
b6c46de to
e9b793e
Compare
e9b793e to
e069ec5
Compare
e356900 to
55c5180
Compare
4a264e1 to
bff26cf
Compare

Description
This PR adds comprehensive end-to-end testing for the onboarding flow and improves the test infrastructure for cloud-based features. The changes include a new GitHub Actions workflow that runs onboarding E2E tests when relevant files are modified, along with enhanced test fixtures and page objects for better test maintainability.
The E2E tests now cover the complete onboarding journey including project creation, provider selection, backend configuration with health checks, and verification steps. Test fixtures have been refactored to be more modular and reusable, with proper page object methods for common onboarding actions.
Type of change
How Has This Been Tested?
The changes include comprehensive E2E tests that verify:
The new GitHub Actions workflow automatically runs these tests when onboarding-related files are modified, ensuring continuous validation of the onboarding experience.
Checklist: