← All tests

Default Cash — every new register STAGING

Next-Phase n6 (Narong review fix). Full flow verified on demo.staging 7/7 + staging smoke 5/5.

Narong's review: "Hasn't seen a default cash method created for the new Register (also fixed from Shop to every new Register)." The old n6 created one shop-wide Cash and was idempotent per shop — so a 2nd/3rd register created nothing, and tenants that already had a shop-wide Cash never saw a new one. Reworked to per-register: each new register gets its own Cash, linked to it via the Item #7 junction (Cash - {Shop} - {Register}), matching how n13 links a KHQR/Bank method. Self-healing (Path B): when a shop still has a legacy shop-wide Cash, it's pinned to the shop's existing registers so it stops blanket-covering new ones — no register ever shows two Cash tenders, and no data migration is needed.

Confirmation the operator now sees

Cash created confirmation banner
Right after adding a register, the post-add prompt shows a green "A default Cash tender was created for {register}" banner — the visible confirmation Narong was missing.

The per-register Cash on Payment Methods

New register-linked Cash on Payment Methods
The new register's own Cash - Demo Cafe - n6 …A lands on Payment Methods, linked to that register. The pre-existing shop-wide Cash was self-pinned to the existing registers (Till 1, n13 304043) — so no register has a duplicate Cash.

Second register also gets its own (the old per-shop-skip bug)

Second register also gets its own Cash
Adding a 2nd register shows the same confirmation and creates its own isolated Cash - Demo Cafe - n6 …B — the case the old idempotent-per-shop code silently skipped.

Checks (demo.staging, Pro — driven through the deployed Worker, verified against the DB)

Add register #1 → "Cash created" confirmation banner showspass
Register #1 has its OWN linked Cash (Cash - Demo Cafe - …)pass
Self-heal: legacy shop-wide Cash pinned to pre-existing registers only (no doubles)pass
Payment Methods page shows the new register-linked Cashpass
Add register #2 → also gets its own Cash; isolated from #1pass
Full staging E2E7/7
Staging smoke5/5

Also proven locally (Gate 1) with a DAO integration probe 12/12 covering fresh-shop, 2nd-register isolation, re-add idempotency, self-heal, and all-shops-Cash pass-through.

nix-cafe dev d15e6festaging e6483fc (Worker nix-cafe-staging cd1b4cf6). 4 files, no migration. Parked on staging for the scheduled prod promote.