test(e2e): add Paddle cancel/close coverage for inline and overlay (WST-713)#919
Closed
rogersole wants to merge 2 commits into
Closed
test(e2e): add Paddle cancel/close coverage for inline and overlay (WST-713)#919rogersole wants to merge 2 commits into
rogersole wants to merge 2 commits into
Conversation
4 tasks
30bc6de to
8dd502a
Compare
f6a20cd to
9e25cc2
Compare
Contributor
Author
|
Verified locally against the sandbox: both cancel flows green on 3 consecutive runs (~3-5s each). Selectors pinned from live runs: overlay frame |
6ea3f7f to
5043030
Compare
28e8661 to
80f0169
Compare
ec46405 to
be9518d
Compare
80f0169 to
6738fa0
Compare
…ST-713) - Inline: open forced-inline checkout, click the RC return button (data-testid=paddle-return-button), assert the checkout unmounts and the demo stays on the paywall (no /success navigation). - Overlay: open forced-overlay checkout, close via Paddle's own control (fires a user-initiated checkout.closed), assert the overlay iframe is gone and the paywall is interactive again. Neither test completes a payment, so both always run on CI regardless of the datacenter-IP completion spike (WST-709). Overlay iframe/close-control selectors carry TODO(WST-713) markers to be pinned during headed verification against the sandbox. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…T-713)
Paddle's overlay close affordance is a 'Return to {seller}' button
inside the overlay frame, not an X/close control.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6738fa0 to
441db18
Compare
4 tasks
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.
Summary
Stacked on #918. The WST-564 failure/edge-path requirement — fully CI-safe since no payment is ever completed.
data-testid=paddle-return-button) → checkout unmounts, demo stays on the paywall, no/successnavigation. CovershandleInlineClose→Paddle.Checkout.close().checkout.closed→ SDK maps it to a user-cancelled error, paywall interactive again. Covers the user-initiated-close branch inpaddle-service.ts.Part of WST-564 (subtask WST-713).
Test plan
tsc --noEmit, eslint, prettier clean🤖 Generated with Claude Code
Note
Low Risk
Test-only changes in the demo app; no production billing or SDK behavior is modified.
Overview
Adds CI-safe Paddle E2E coverage for checkout cancel/close paths (no completed payments), extending the webbilling-demo Paddle suite.
A new
cancel-flow.test.tssuite exercises inline mode (forced viaforcePaddleCheckoutMode) by opening checkout, clicking the demopaddle-return-button, and asserting the inline container unmounts, package cards remain, and the URL never hits/success/. It also covers overlay mode by opening checkout in the Paddle iframe, clicking Paddle’s “Return to …” close control via a new helper, and asserting the overlay iframe disappears with the same paywall expectations. Shared setup matches other Paddle tests (Chromium-only on CI, API key gate, post-test rate-limit sleep).test-helpers.tsaddsgetPaddleOverlayCloseButton(getByRole("button", { name: /^return to/i })inside the overlay frame) for the overlay cancel scenario.Reviewed by Cursor Bugbot for commit 441db18. Bugbot is set up for automated code reviews on this repo. Configure here.