Individual tier
| Test ID | Name & description | Covered by |
|---|---|---|
| IND_01 | Monthly happy path Customer subscribes monthly, platform provisions workspace end to end | F1 |
| IND_02 | Upgrade to annual Customer switches from monthly to annual billing via the customer portal | F2 |
| IND_03 | Cancellation — retention accepted Customer initiates cancellation but accepts the 20% retention coupon instead | F3 |
| IND_04 | Cancellation — no retention Customer cancels without accepting retention; subscription set to cancel at period end, org stays active | F4 |
| IND_05 | Reactivation within period Customer reverses cancellation before period ends; no reprovisioning occurs | F11 |
| IND_06 | Promo code at checkout Customer applies a promotion code at checkout; discount recorded in registry and Stripe | F12 |
Team tier
| Test ID | Name & description | Covered by |
|---|---|---|
| TEAM_01 | Monthly happy path Admin purchases Team monthly; workspace provisioned, redirects to seats.html | F1 |
| TEAM_02 | Member activation Admin activates a member via seats.html; container and OpenWebUI account provisioned | F5a |
| TEAM_03 | Seat addition Admin purchases an additional seat; seats_purchased increments, no provisioning yet | F6 |
| TEAM_04 | New member after seat addition Admin activates a second member using the newly purchased seat | F5b |
| TEAM_05 | Seat reduction Admin reduces seats below active member count; compliance pending set, deadline enforced | F7 + F8 |
| TEAM_06 | Upgrade to annual Team subscription switched from monthly to annual billing | F2 |
| TEAM_07 | Cancellation — retention accepted Customer accepts retention coupon instead of confirming cancellation | F3 |
| TEAM_08 | Cancellation — no retention Customer cancels without retention; cancel_at_period_end=true, org stays active | F4 |
| TEAM_09 | Reactivation Customer reverses cancellation before period ends | F11 |
| TEAM_10 | Promo code at checkout Promotion code applied at Team checkout; discount recorded | F12 |
Company tier
| Test ID | Name & description | Covered by |
|---|---|---|
| COMP_01 | Monthly happy path Admin purchases Company monthly; workspace provisioned | F1 |
| COMP_02 | Member activation Admin activates a member via seats.html | F5a |
| COMP_03 | Member deactivation Admin deactivates a member via seats.html; deactivated users not restored on reactivation | F8 |
| COMP_04 | Upgrade to annual Company subscription switched to annual billing | F2 |
| COMP_05 | Cancellation — retention accepted Customer accepts retention coupon instead of confirming cancellation | F3 |
| COMP_06 | Cancellation — no retention Customer cancels without retention; cancel_at_period_end=true | F4 |
| COMP_07 | Reactivation Customer reverses cancellation before period ends | F11 |
| COMP_08 | Promo code at checkout Promotion code applied at Company checkout | F12 |
Network tier
| Test ID | Name & description | Covered by |
|---|---|---|
| NET_01 | Monthly happy path Admin purchases Network monthly; workspace provisioned | F1 |
| NET_02 | Member activation Admin activates a member via seats.html | F5a |
| NET_03 | Seat addition and member activation Admin purchases a seat then activates a new member using it | F6 + F5b |
| NET_04 | Seat reduction Admin reduces seats; compliance pending enforced | F7 + F8 |
| NET_05 | Upgrade to annual Network subscription switched to annual billing | F2 |
| NET_06 | Cancellation — no retention Customer cancels without retention; cancel_at_period_end=true | F4 |
Additional cross-tier tests
| Test ID | Name & description | Covered by |
|---|---|---|
| — | Admin transfer Admin transfers their role to another active member via seats.html — applies to Team, Company, Network tiers | F9 |
| — | Seat reduction compliance enforcement Cron job enforces the 7-day deadline via Stripe test clock; org suspended on day 0 — applies to Team, Company, Network tiers | F10 |