063 — should cancel monthly subscription while yearly remains active¶
Description¶
Verifies that cancelling only the Monthly subscription does not affect the Yearly plan, and that once the Monthly period ends the Monthly plan goes inactive while the Yearly plan continues to provide access.
Preconditions¶
- Freshly registered tenant signed in as the owner on the dev environment.
- Tenant is on the 14-day free trial.
- Stripe sandbox customer + test clock exist for the tenant.
Steps¶
- Open the Billing page. Expected: 14-day trial summary visible.
- Buy the Monthly plan (1 seat) via Hosted Checkout. Expected: Monthly active, 1 seat at $16.00, 1 of 1 used, summary and next-payment date match Stripe.
- Buy the Yearly plan (1 seat) via Hosted Checkout. Expected: Monthly shows 1 seat at $16.00, Yearly shows 1 seat at ~$142.77, aggregate usage is 1 of 2, summary and next-payment dates match Stripe.
- Open the Customer Portal and cancel only the Monthly subscription, then return to the app.
- Expected: Monthly card now shows "subscription ends ..." with a date from Stripe at 1 seat / $16.00; Yearly card still shows "next payment due ..." at 1 seat / ~$142.77 with its period-end from Stripe.
- Advance the Stripe test clock by 32 days and reload.
- Expected: Monthly subscription is gone and replaced by a "Renew Monthly subscription" prompt; Yearly remains active at 1 seat / ~$142.77 with the same next-payment date; aggregate usage is 1 of 1.
Related¶
- Spec:
playwright/tests/integration/billing.spec.ts(line 453)
Related¶
- Spec:
playwright/tests/integration/billing.spec.ts(line 453)