# ts-mitra-1-03 — §1 Ganti Status toggles online ⇄ offline UI # Spec ref: requirement/flow_mitra.mermaid.md §1 # # Starts on /home in the online variant, taps "Ganti Status" → asserts the # offline variant takes over, taps "Nyalain Status (Online)" → asserts the # online variant returns. Screenshots at both states for the design review. # # Online toggle posts /api/mitra/status/online (offline → /offline). The # status_notifier sets StatusLoadedData immediately on success so the UI # flips within ~1 frame after the response. appId: com.mybestie.mitra env: TEST_PHONE: "+628200000703" MITRA_DISPLAY_NAME: "Maestro Toggle" BACKEND_INTERNAL_URL: http://localhost:3001 --- - runScript: file: ../scripts/seed_mitra.js env: TEST_PHONE: ${TEST_PHONE} MITRA_DISPLAY_NAME: ${MITRA_DISPLAY_NAME} IS_ACTIVE: "true" BACKEND_INTERNAL_URL: ${BACKEND_INTERNAL_URL} - runScript: file: ../scripts/reset_phone.js env: TEST_PHONE: ${TEST_PHONE} BACKEND_INTERNAL_URL: ${BACKEND_INTERNAL_URL} - launchApp: clearState: true - extendedWaitUntil: visible: text: "(?s).*Halo Mitra Bestie.*" timeout: 10000 - tapOn: point: "50%, 53%" - inputText: "8200000703" - tapOn: "(?s).*kirim kode.*" - extendedWaitUntil: visible: text: "(?s).*masukin 6 digit kode.*" timeout: 10000 - runScript: file: ../scripts/peek_otp.js env: TEST_PHONE: ${TEST_PHONE} BACKEND_INTERNAL_URL: ${BACKEND_INTERNAL_URL} - inputText: ${output.OTP} # Online variant on first land. - extendedWaitUntil: visible: text: "(?s).*Kamu lagi (ONLINE|OFFLINE).*" timeout: 15000 - takeScreenshot: ts-mitra-1-03-online-before-toggle # Tap Ganti Status → flip to offline. - tapOn: "(?s).*(Ganti Status|Nyalain Status).*" - extendedWaitUntil: visible: text: "(?s).*Kamu lagi OFFLINE.*" timeout: 10000 - assertVisible: text: "(?s).*Nyalain Status \\(Online\\).*" - takeScreenshot: ts-mitra-1-03-offline-after-toggle # Tap Nyalain Status → flip back to online. - tapOn: "(?s).*Nyalain Status \\(Online\\).*" - extendedWaitUntil: visible: text: "(?s).*Kamu lagi (ONLINE|OFFLINE).*" timeout: 10000 - assertVisible: text: "(?s).*(Ganti Status|Nyalain Status).*" - takeScreenshot: ts-mitra-1-03-online-after-second-toggle