4.7 KiB
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-expandedtoggles on section headers when opening/closing - [MANUAL] Verify
aria-expandedtoggles 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)