Personas¶
The test users every spec page is tested as. The keys match the synthetic personas in scgb-account packages/fixtures/src/personas.ts, so the spec, the automated tests and the dev fixtures use the same names.
Each persona page describes the Salesforce state the user needs. Real UAT logins for each persona are created from those pages.
| Persona | Who | Exercises |
|---|---|---|
| public | Public (logged out) | Baseline: 3-day weather, Login buttons, member-only discounts show login prompt. |
| standard | Active standard member | 7-day weather, member discounts/pricing, standard dashboard; no premium/rep/intl. |
| platinum | Active Platinum member | is-premium body class, Travel-Insurance page, platinum dashboard sections, platinum PDF card. |
| rep | Active Rep member | is-rep body class, Rep-Centre page, repping slots; member tier (not platinum). |
| platinum-rep | Active Platinum + Rep member | Premium AND rep together — mirrors stu@mees.st (badge 'Ski Club Platinum Member,Ski Rep'). |
| international | Active International member | Ski-locker redirect off dashboard, member-international-membership body class; tier=international. |
| international-family | Active International Family member (negative test) | NEGATIVE: item 'International Family Membership' must NOT satisfy the EXACT is_international gate — no redirect, no intl body class, tier=member. |
| lapsed | Lapsed standard member | Issue #2: logged-in but membership expired — login admits them (findMemberByEmail), session reports subscription_status=expired; no discounts, no weather subscriptions, 3-day weather, forced re-join before booking. |
| lapsed-platinum | Lapsed Platinum member | is_active && is_platinum = FALSE (perk content hidden) while standalone is_platinum = TRUE (class still applied). Tests gates keyed on is_platinum vs is_active. |
| display | Active Platinum member with full display data | Display assertions: ski-standards panel + comms-prefs panel (newsletter on / discounts off / freshtracks on). |
| plus | Active member with rep-assessed Plus ski standards | Plus-grade ski standards: locker displays 'Advanced Plus'/'Intermediate Plus'; funnel pre-fills base bands; re-confirming the prefill must not append a downgraded Zen_Ski_Profile__c. |