Skip to content

test(billing): mirror the AM3 replay checkout payload in fixtures (REVENG-264)#119027

Draft
dashed wants to merge 1 commit into
masterfrom
aleal/feat/am3-replays-checkout-tiers-from-default
Draft

test(billing): mirror the AM3 replay checkout payload in fixtures (REVENG-264)#119027
dashed wants to merge 1 commit into
masterfrom
aleal/feat/am3-replays-checkout-tiers-from-default

Conversation

@dashed

@dashed dashed commented Jul 3, 2026

Copy link
Copy Markdown
Member

What

Aligns the frontend test fixtures with the AM3 replay repackaging shipped in getsentry/getsentry#20920: AM3 plans include 5,000 replays, and the checkout billing-config payload starts each category's reserved tiers at the plan default, so the grandfathered 50-replay tier is no longer offered at checkout.

No frontend source changes. The checkout already does the right thing with the new payload — this PR proves it at the test level:

  • BillingConfigFixture now returns defaultReserved.replays: 5000 and filters AM3 plan tier lists to buckets ≥ 5,000 (AM3_CHECKOUT_PLANS), mirroring the backend's start_at_default checkout serialization. Subscription planDetails fixtures keep the full tier list, matching the backend, so stored grandfathered volumes still render.
  • am3Plans fixture pricing matches the new config: the 5,000 replay tier is $0 (renders as Included), and the 5,000–10,000 PAYG band moves to $0.0045. Values were generated from the backend plan config, not hand-derived.
  • The free Developer plan gains its 5,000 replay tier.

Behavior the updated specs pin

  • The replays slider's lowest tick is 5,000 — the 50 tier cannot be picked.
  • A carried-forward 50 (existing subscription) snaps up to 5,000, which checkout pre-selects and renders as Included.
  • A sponsored plan's carried 500 replays also snap to 5,000; the volume sliders no longer auto-show for it since the snapped tier costs $0 (the spec now expands them explicitly).
  • SCM onboarding copy advertises 5,000 replays / mo from defaultReserved.

Testing

34 affected suites pass (345 tests): all amCheckout specs, subscription-page specs, and every other consumer of the touched fixtures. Typecheck and lint clean.

Ship order

Fixtures describe the payload of getsentry/getsentry#20920 — land this together with or after that PR.

REVENG-264

…VENG-264)

The backend now includes 5,000 replays on AM3 plans and starts checkout
reserved tiers at the plan default: the billing-config payload defaults
replays to 5,000, prices the 5,000 tier at $0 (PAYG for 5,000-10,000
moves to $0.0045), and no longer offers the grandfathered 50 tier,
which stays valid only for existing subscriptions.

Update the billing-config and AM3 plan fixtures to match, and adjust the
checkout expectations to what the frontend already does with that
payload: the slider's lowest tick becomes 5,000 and a carried-forward 50
snaps up to it, so checkout pre-selects 5,000 with no frontend code
change. The volume sliders also stop auto-showing for a sponsored plan's
carried 500 replays because the snapped tier is now included at $0, so
that test expands them explicitly.

Subscription planDetails fixtures keep the full tier list, matching the
backend, so stored grandfathered volumes still render.
@linear-code

linear-code Bot commented Jul 3, 2026

Copy link
Copy Markdown

REVENG-264

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant