Skip to content

Testing record: My Store retailer console (FIR-166, PR #374) #382

Description

@liammaloney2403

Honest record of the testing I actually ran myself while building the My Store retailer console, not what CI reported.

Automated checks I ran locally, repeatedly through the build

  • npm run typecheck — run after each schema/model pivot (retailer role → revert → admin.manage_assortments grant) and again after the repo-flatten port. Clean.
  • npm run lint and npm run format:check — run alongside typecheck each time. Clean.
  • npm run build — run after the repo-flatten port and again after resolving the AppShell.tsx merge conflict, to confirm the route tree (/my-store, /my-store/assortments, /my-store/assortments/[id], /my-store/credits, /my-store/test-show) actually compiles.
  • Dev server boot, repeated: after every structural change (route renames, git mv of (retailer-admin) → (my-store), the AppShell.tsx/app-shell-navigation.ts split) I restarted the dev server and reloaded the affected pages to confirm no stale-chunk or runtime errors.

What I did not run until too late

I did not run the full npm test suite (the node:test contract/golden-text suites) until asked to write this record, right at the end. That was a gap: it surfaced 2 real regressions caused by my own changes, both introduced by literal-source-text assertions I hadn't re-checked:

  1. tests/ui/app-shell-navigation.test.mjs — pinned the exact APP_LINKS array; didn't account for the new /my-store entry.
  2. tests/shows/assortment-qr-entry.test.mjs — pinned the exact source text of the create_assortment_qr_show RPC call in lib/assortments/public.server.ts; broke by my type-assertion fix for 2 pre-existing typecheck errors in that file (ec91a7f).

I fixed both locally. By the time I re-ran the suite, Harry had independently landed an equivalent fix on main (db323cf, "fix: align retailer console assertions"), so I discarded my duplicate local edit rather than opening a redundant PR. Confirmed 655/656 passing against current main; the one remaining failure (tests/ui/design-system-contract.test.mjs) is a false positive caused by my own local, gitignored .claude/launch.json dev-tooling file, not present in git or CI.

Manual/SQL verification

  • Checked the RBAC model directly in Supabase (has_permission() / current_user_has_permission()) at each iteration of the access model, including after the final pivot to granting admin.manage_assortments to the whole user role rather than a scoped retailer role.
  • Walked the actual UI in the browser preview: nav entry visibility (no permission gate on the "My Store" tab itself, admin.view still gates /admin), the assortment editor reuse (confirmed AssortmentEditor has no admin.view dependency), the "Back to home" exit, and the test-show flow opening the real /a/[token] consumer entry route in a new tab.

Net result

Typecheck, lint, format, npm test (655/656, 1 known local-only false positive), and npm run build all pass against current main as of this issue. No outstanding code changes needed; this issue is a record only.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions