fix(leads): disable sign-in submit until exhibit loads; add licensed-user auth tests
Prevents silent no-op when user clicks submit before lq__exhibit_obj is ready (exhibit not yet written to Dexie). Button now shows 'Loading...' spinner while the exhibit record is resolving, eliminating the two-tap workaround needed on first page load. Also adds 7 Playwright tests for licensed user sign-in (leads_licensed_signin.test.ts) covering success path, wrong credentials, email/identity tagging on captured leads, identity isolation between staff members, and returning-session bypass. Helpers: attach_leads_routes/setup_leads_test_page now accept exhibit_overrides (e.g. license_li_json) to inject licensed users into mocked API responses. seed_leads_loc import added to leads_auth.test.ts multi-exhibit test. Total leads test coverage: 29 tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
setup_leads_test_page,
|
||||
attach_leads_routes,
|
||||
seed_ae_loc,
|
||||
seed_leads_loc,
|
||||
seed_events_loc,
|
||||
minimal_exhibit,
|
||||
} from './_helpers/leads_helpers';
|
||||
@@ -219,7 +220,14 @@ test.describe('Leads — Auth Gate', () => {
|
||||
// Seed ae_loc (regular shared-passcode user — no manager bypass)
|
||||
await seed_ae_loc(page, { allow_access: true });
|
||||
|
||||
// Pre-seed BOTH exhibits as authorized — independent KV entries
|
||||
// Pre-seed BOTH exhibits as authorized — independent KV entries.
|
||||
// Must seed ae_leads_loc (new PersistedState store) in addition to ae_events_loc.
|
||||
await seed_leads_loc(page, {
|
||||
auth_exhibit_kv: {
|
||||
[exhibit_id]: { key: exhibit_staff_passcode, type: 'shared', updated_on: new Date().toISOString() },
|
||||
[exhibit_id_b]: { key: 'BOOTHB99', type: 'shared', updated_on: new Date().toISOString() },
|
||||
},
|
||||
});
|
||||
await seed_events_loc(page, {
|
||||
[exhibit_id]: { key: exhibit_staff_passcode, type: 'shared' },
|
||||
[exhibit_id_b]: { key: 'BOOTHB99', type: 'shared' },
|
||||
|
||||
Reference in New Issue
Block a user