Skip to content

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.