Dev-only /internal/_test/peek-otp + /internal/_test/reset-phone endpoints gated by NODE_ENV !== 'production'. peek-otp reads the latest stub OTP out of an in-memory map populated by otp.service.js fazpassSendStub; reset-phone wipes otp_requests rows (and optionally the customers row) so flows can re-run without tripping cooldowns. JS + shell helpers under .maestro/scripts/ wrap the endpoints for use inside Maestro runScript steps. 01_smoke.yaml expanded from a launch-only sanity check to a full cold-start onboarding -> force-register -> OTP -> home walk. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 lines
487 B
JavaScript
12 lines
487 B
JavaScript
// Wipe otp_requests rows + customer row for TEST_PHONE so repeated runs
|
|
// don't trip the 60s cooldown or hit IDENTITY_CONFLICT.
|
|
const phone = TEST_PHONE
|
|
const url = BACKEND_INTERNAL_URL || 'http://localhost:3001'
|
|
const resp = http.post(`${url}/internal/_test/reset-phone`, {
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ phone, drop_customer: true }),
|
|
})
|
|
if (resp.status !== 200) {
|
|
throw new Error(`reset-phone failed (${resp.status}): ${resp.body}`)
|
|
}
|