OTP test infrastructure for Maestro flows
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>
This commit is contained in:
13
client_app/.maestro/scripts/peek_otp.js
Normal file
13
client_app/.maestro/scripts/peek_otp.js
Normal file
@@ -0,0 +1,13 @@
|
||||
// Read the latest stub-generated OTP code for TEST_PHONE from the
|
||||
// backend's dev-only /internal/_test/peek-otp endpoint.
|
||||
//
|
||||
// Writes the 6-digit code to output.OTP so the calling flow can use ${output.OTP}.
|
||||
const phone = TEST_PHONE
|
||||
const url = BACKEND_INTERNAL_URL || 'http://localhost:3001'
|
||||
const encoded = encodeURIComponent(phone)
|
||||
const resp = http.get(`${url}/internal/_test/peek-otp?phone=${encoded}`)
|
||||
if (resp.status !== 200) {
|
||||
throw new Error(`peek-otp failed (${resp.status}): ${resp.body}`)
|
||||
}
|
||||
const data = json(resp.body)
|
||||
output.OTP = data.code
|
||||
Reference in New Issue
Block a user