Files
svsmspcalc/docs/regression-checklist.md
2026-03-15 18:24:36 -04:00

4.7 KiB

Regression Checklist

Use this when a change could affect runtime behavior. It is not required reading for every session.

Automated tests (run first)

node svsmspcalc/tests/test-quote-engine.js

This covers all core quote math, admin fee logic, discounts, HST, VoIP, ZT, and MRR integrity. If all 88 tests pass, the items marked [AUTO] below are verified.

Core quote math

  • [AUTO] Verify M365 Included and BYOL base rates
  • [AUTO] Verify each user add-on changes MRR correctly
  • [AUTO] Verify endpoint count affects endpoint pricing
  • [AUTO] Verify server count affects server pricing
  • [AUTO] Verify Zero Trust Networking seat and HaaS counts affect MRR correctly
  • [AUTO] Verify VoIP tier changes pricing correctly
  • [AUTO] Verify desk phone and eFax add-ons change pricing correctly

Site admin fee

  • [AUTO] Verify admin fee floor at low subtotal
  • [AUTO] Verify admin fee reduces as base subtotal rises
  • [AUTO] Verify admin fee stops reducing at the configured floor
  • [AUTO] Verify Zero Trust supplement appears when Zero Trust is active
  • [AUTO] Verify 1Password admin surcharge appears when 1Password is selected
  • [AUTO] Verify admin fee waive excludes fee from MRR
  • [MANUAL] Verify admin fee waive state updates all relevant displays

Contract term and onboarding

  • [AUTO] Verify month-to-month has no discount
  • [AUTO] Verify 12-month applies 3% discount
  • [AUTO] Verify 24-month applies 5% discount
  • [MANUAL] Verify 12-month auto-waives onboarding
  • [MANUAL] Verify 24-month auto-waives onboarding
  • [MANUAL] Verify switching back to month-to-month restores editable onboarding behavior
  • [MANUAL] Verify manual onboarding override persists until reset by waiver logic

Tax and totals

  • [AUTO] Verify HST toggle applies 13% to discounted MRR
  • [AUTO] Verify HST disabled = $0
  • [AUTO] Verify HST applied after contract discount (not before)
  • [AUTO] Verify annual projection matches effective MRR * 12
  • [AUTO] Verify per-user effective cost is 0 when users = 0

Sidebar and mobile parity

  • [MANUAL] Verify desktop sidebar values match configured quote
  • [MANUAL] Verify mobile pill MRR matches headline MRR
  • [MANUAL] Verify mobile panel content matches desktop sidebar
  • [MANUAL] Verify mobile HST toggle syncs back to desktop state
  • [MANUAL] Verify nudge banner content and state match on desktop and mobile

Persistence and reset

  • [MANUAL] Verify quote state restores after reload
  • [MANUAL] Verify theme preference restores after reload
  • [MANUAL] Verify quote reference persists within the intended window
  • [MANUAL] Verify reset clears quote state
  • [MANUAL] Verify reset preserves theme preference

Export and print

  • [MANUAL] Verify Print / Save PDF opens the formatted print view
  • [MANUAL] Verify print respects user's HST toggle state
  • [MANUAL] Verify print view uses the expected totals, discount, onboarding, and HST states
  • [MANUAL] Verify JSON export downloads a file
  • [MANUAL] Verify JSON export copies content to clipboard when supported
  • [MANUAL] Verify JSON payload matches the visible quote configuration
  • [MANUAL] Verify JSON export includes "version": "1.0" field

Section header layout

  • [MANUAL] Verify all 6 sections show numeral + title + chevron on row 1
  • [MANUAL] Verify controls row (stepper + badge + price) on row 2
  • [MANUAL] Verify subtitle appears on row 3 only when expanded
  • [MANUAL] Verify small-screen stacking at ≤600px / container ≤520px
  • [MANUAL] Verify all elements span full width when stacked

UX interactions (Phase 3)

  • [MANUAL] Verify theme switch transitions smoothly (no flash)
  • [MANUAL] Verify nudge banner crossfades on rotation and manual nav
  • [MANUAL] Verify section summary badge fades in on collapse
  • [MANUAL] Verify addon row shows subtle pulse on toggle
  • [MANUAL] Verify touch targets ≥44px at ≤600px (close btn, nudge nav, section toggles)
  • [MANUAL] Verify mobile panel traps focus (Tab cycles within panel)
  • [MANUAL] Verify focus returns to pill on panel close
  • [MANUAL] Verify safe-area insets respected on notch phones (pill position, panel padding)

Accessibility (Phase 5)

  • [MANUAL] Verify aria-expanded toggles on section headers when opening/closing
  • [MANUAL] Verify aria-expanded toggles on collapsible headers when opening/closing
  • [MANUAL] Verify reset modal traps focus (Tab cycles within modal, cannot reach background)
  • [MANUAL] Verify stepper buttons announce descriptive labels via screen reader
  • [MANUAL] Verify Glass theme scrolls smoothly on mobile (no jank from fixed backgrounds)
  • [MANUAL] Verify mobile panel gets full sync on open (client name, discount label visible)
  • [MANUAL] Verify mobile sync skips on desktop when panel is closed (performance)