From f95243a9c7a431f98565722780686ba1f395e36e Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 6 Apr 2026 17:04:57 -0400 Subject: [PATCH] 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 --- .../ae_comp__exhibit_signin.svelte | 9 +- tests/_helpers/leads_helpers.ts | 15 +- tests/leads_auth.test.ts | 10 +- tests/leads_licensed_signin.test.ts | 294 ++++++++++++++++++ 4 files changed, 323 insertions(+), 5 deletions(-) create mode 100644 tests/leads_licensed_signin.test.ts diff --git a/src/routes/events/[event_id]/(leads)/leads/exhibit/[exhibit_id]/ae_comp__exhibit_signin.svelte b/src/routes/events/[event_id]/(leads)/leads/exhibit/[exhibit_id]/ae_comp__exhibit_signin.svelte index c4dfce02..e70bbf9c 100644 --- a/src/routes/events/[event_id]/(leads)/leads/exhibit/[exhibit_id]/ae_comp__exhibit_signin.svelte +++ b/src/routes/events/[event_id]/(leads)/leads/exhibit/[exhibit_id]/ae_comp__exhibit_signin.svelte @@ -213,8 +213,13 @@ function complete_signin(key: string, type: string) {