Admin Test Cases
♻️ Reconciled against current code — 2026-07-01.
getTenantHandler (GET /api/platform/tenants/:tenantIdOrSlug) requires only requirePlatformSupport (SUPER_ADMIN OR PLATFORM_SUPPORT) at the route level — the commercial-field redaction happens inside the handler body based on platformRoles, not at the route guard. The Split Agreement / PayBiz Config / Platform Channels tabs on TenantDetailPage are separately gated client-side (isSuperAdmin) — PLATFORM_SUPPORT never sees them rendered, even via a stale ?tab=split deep link. No seeded PLATFORM_SUPPORT test user exists — TC-ADMIN-006 creates one via /users/new for the negative case.
♻️ Settings consolidated — 2026-06-11 (#245/#239/#246/#247/#242). There is now ONE settings hub at
/admin/settings (AdminOrgSettingsHubPage) — the single entry point for all org configuration. The old orphaned "Control Panel" and dead/duplicate nav links were removed, and SUPER_ADMIN is now admitted to settings routes (previously bounced — #246).
Settings hub — what's where
From /admin/settings (visible to ADMIN + SUPER_ADMIN; some cards also FINANCE_MANAGER), the cards link to:
| Card | Route | Notes |
|---|---|---|
| Organization Profile | /admin/settings/org-profile | See TC-ADMIN-002. |
| Roles & Permissions | /admin/roles | RBAC — see the RBAC section. |
| Member Settings | /admin/members/settings | Tabbed: Approval Workflow (?tab=workflow), Membership Types (?tab=types), registration Fields. Legacy /admin/settings/approval-workflow & /membership-types now redirect here. |
| Notifications | /admin/settings/notifications | NEW (#239). Master switches for sign-up (signupNotifEnabled) and event-registration (eventRegNotifEnabled) notifications — both default OFF; enable here before expecting any email/bell. |
| Finance & Billing | /admin/settings/finance | Incl. Dues settings (?tab=dues). ADMIN / FINANCE_MANAGER / SUPER_ADMIN. |
| Bank Accounts · Payment Categories · Payment Channels | /admin/bank-accounts · /admin/settings/payment-categories · /admin/finance/payment-channels | Finance config. |
| Invoice Template · Feature Flags · Email Log | /admin/settings/invoice-template · /feature-flags · /admin/dev/email-log | — |
🆕 Super-Admin Member Editor — 2026-06-16 (admin portal,
stg-admin.membervu.com). A new platform-operator capability to manage members across tenants: cross-tenant member search (/members, returns status/type/expiry — #201/#206), a member detail page (/members/:tenantId/:memberId — #207), and an Edit Membership modal with change-status (#202/#208), change-type (#203/#209), set/renew-expiry (#204/#210), and reactivate (#205/#211, fixes OQ-RET-16). All edits are billing-neutral with a dual-audit trail + required reason. This lives in the super-admin portal, not the tenant org portal. See the Jun 16 release note.
🆕 New on stage — 2026-06-19 → 2026-07-01. Commercial split + PayBiz attestation fields on tenant detail are now SUPER_ADMIN-only — redacted from the
getTenantHandler response and their tabs hidden entirely for PLATFORM_SUPPORT operators (Jun 25 release) — covered by new TC-ADMIN-006. Platform finance wiring for super-admin is live on /org-controls, showing correct per-tenant totals in ₱ (#452/#493, Jun 29 release) — also covered by TC-ADMIN-006. Cross-cutting UI features also shipped this window but are tested in their owning sections, not here: show/hide password toggle (#477, login/reset-password), member avatar async S3 presign (#523), and cursor:pointer + native <select> WCAG polish (#222) which applies platform-wide including admin settings forms — see the Jul 1 release.