Skip to content

feat(admin): add provisioning simulator frontend#115660

Draft
dashed wants to merge 2 commits into
masterfrom
aleal/feat/provision-simulate-frontend
Draft

feat(admin): add provisioning simulator frontend#115660
dashed wants to merge 2 commits into
masterfrom
aleal/feat/provision-simulate-frontend

Conversation

@dashed
Copy link
Copy Markdown
Member

@dashed dashed commented May 15, 2026

Summary

  • Add "Simulate Provisioning" action to the admin customer details page (/_admin/customers/:orgId/)
  • New modal component accepts SFDC-like fields (plan, start/end dates, deal terms, reserved volumes, custom price)
  • Displays simulation results: validation status, computed provisioning parameters (coterm, effective_at, shift_contract_dates), new contract dates, and invoice preview
  • Read-only — no changes are made to the subscription

Backend companion: getsentry/getsentry#20337

Test plan

  • Frontend spec tests pass (CI=true pnpm test simulateProvisionAction)
  • Manual test: open admin customer page → Billing dropdown → "Simulate Provisioning"
  • Verify form renders with all fields
  • Verify simulation results display correctly for valid input
  • Verify validation errors display for invalid input (e.g., term < 364 days)

Add a "Simulate Provisioning" action to the admin customer details page
that lets billing admins preview what an SFDC provisioning request would
do without making changes. The modal accepts SFDC-like fields (plan,
start/end dates, deal terms, reserved volumes) and displays computed
provisioning parameters, new contract dates, and an invoice preview.
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label May 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 15, 2026

📊 Type Coverage Diff

Metric Before After Delta
Coverage 93.52% 93.52% ±0%
Typed 135,580 135,695 🟢 +115
Untyped 9,387 9,396 🔴 +9
🔍 9 new type safety issues introduced

any-typed symbols (9 new)

File Line Detail
static/gsAdmin/components/simulateProvisionAction.tsx 181 err (var)
static/gsAdmin/components/simulateProvisionAction.tsx 182 responseJSON (var)
static/gsAdmin/components/simulateProvisionAction.tsx 553 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 554 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 555 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 556 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 557 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 558 p (param)
static/gsAdmin/components/simulateProvisionAction.tsx 562 p (param)

This is informational only and does not block the PR.

- Fix field name mismatch: contractStart→contractPeriodStart,
  contractEnd→contractPeriodEnd, billingType→type (matching backend)
- Use existing formatCurrency from getsentry/utils instead of local copy
- Remove dead onSuccess prop from Options type
- Fix softCap null rendering: use formatBool for consistency
- Extract shared CSS for Input/Select styled components
- Remove unused imports and variables from tests
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