docs(loyalty): record 2026-05-19 Test 2 complete + subtitle fix
All checks were successful
All checks were successful
End-of-day update. Test 2 (cross-store re-enrollment at FASHIONOUTLET
with the email from Test 1) walked cleanly with all behavioral checks
green:
- exactly 1 loyalty_cards row, no duplicate
- zero new email_logs rows (no duplicate welcome email)
- cross-location locations block lists both stores
- title already-enrolled branch renders correctly
One copy bug surfaced and was fixed in dee2eab2: the title at
enroll-success.html:21 was already x-text-conditional on
already_enrolled, but the subtitle below was a static
{{ _('success.message') }} so two contradicting messages stacked
("You're already a member!" + "You're now a member..."). Made the
subtitle conditional the same way and added a new
already_enrolled_message i18n key in en/fr/de/lb.
Test 2 marked done. Carries forward Test 3 plus the existing follow-ups
(Hetzner doc check, B1-F unit tests, prospecting tasks/__init__ fix,
other-module email audit).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -181,6 +181,47 @@ From the 2026-05-17 list, items #2 (Test 2), #3 (Hetzner doc check),
|
|||||||
missing import), and #6 (other-module email audit) are still queued.
|
missing import), and #6 (other-module email audit) are still queued.
|
||||||
Items #1 (Test 1 nits) are now closed by this session's commits.
|
Items #1 (Test 1 nits) are now closed by this session's commits.
|
||||||
|
|
||||||
|
## 2026-05-19 update — Test 2 complete
|
||||||
|
|
||||||
|
Cross-store re-enrollment at FASHIONOUTLET (same email as Test 1's
|
||||||
|
successful `+17mayf@gmail.com`) walked cleanly. Behavioral checks all
|
||||||
|
green, one copy bug fixed.
|
||||||
|
|
||||||
|
### Test 2 verification
|
||||||
|
|
||||||
|
| Check | Result |
|
||||||
|
|---|---|
|
||||||
|
| Exactly 1 `loyalty_cards` row for customer / merchant — no duplicate | ✅ |
|
||||||
|
| Zero new `email_logs` rows — no duplicate welcome email | ✅ |
|
||||||
|
| Cross-location locations block lists both Fashion Hub + Fashion Outlet | ✅ |
|
||||||
|
| Title renders "Vous êtes déjà membre !" (already conditional from prior fix) | ✅ |
|
||||||
|
|
||||||
|
### Bug fixed: contradicting subtitle on success page (`dee2eab2`)
|
||||||
|
|
||||||
|
The title at `enroll-success.html:21` was already `x-text`-conditional
|
||||||
|
on `enrollContext.already_enrolled` — so it correctly switched between
|
||||||
|
"Welcome!" and "You're already a member!". But the subtitle just below
|
||||||
|
at line 24 was a static `{{ _('success.message') }}`, always rendering
|
||||||
|
"Vous êtes maintenant membre..." even on the already-enrolled branch.
|
||||||
|
Two contradicting messages stacked.
|
||||||
|
|
||||||
|
Added an `already_enrolled_message` i18n key in en/fr/de/lb and made the
|
||||||
|
subtitle conditional the same way as the title:
|
||||||
|
|
||||||
|
- EN: "Welcome back — your card is ready whenever you are."
|
||||||
|
- FR: "Heureux de vous revoir — votre carte est prête à l'emploi."
|
||||||
|
- DE: "Willkommen zurück — Ihre Karte ist einsatzbereit."
|
||||||
|
- LB: "Wëllkomm zréck — Är Kaart ass prett wann Dir et sidd."
|
||||||
|
|
||||||
|
### Status board delta
|
||||||
|
|
||||||
|
- Step 6 (web user-journey E2E tests) — Tests 1 ✅ and 2 ✅ done. Tests 3–8 still ahead.
|
||||||
|
|
||||||
|
### Carry over for next session
|
||||||
|
|
||||||
|
- **Test 3** — Staff stamps/points at the terminal (`/store/FASHIONHUB/loyalty/terminal`)
|
||||||
|
- Items #3 (Hetzner doc check), #4 (unit tests for the B1-F chain), #5 (prospecting `tasks/__init__.py` missing import), #6 (other-module email audit) still queued from the 2026-05-17 follow-up list.
|
||||||
|
|
||||||
## Status board
|
## Status board
|
||||||
|
|
||||||
| # | Pre-launch step | State | Notes |
|
| # | Pre-launch step | State | Notes |
|
||||||
|
|||||||
Reference in New Issue
Block a user