# screens/04-sos-lyra.yaml
#
# Marketing-Screenshot 04: SOS / Chat mit Lyra
#
# Ziel: Lyra-Chat-Screen im SOS-Modus mit sichtbarer Nachricht und Chip-Row.
# Für vorzeigbaren Marketing-Screenshot: nach Lyra-Antwort warten, dann Screenshot.
# Die Chips ("Atemübung" etc.) müssen sichtbar sein — das beweist Live-Lyra.
#
# Timing: Groq cold start auf Staging = 6–12s. 20s-Wait für Response inklusive.
#
# Screenshot-Output: screenshots/04-sos-lyra.png
# Env-Vars: E2E_TEST_USER, E2E_TEST_PASSWORD

appId: org.rebreak.app
---
- launchApp:
    clearState: true

- waitForAnimationToEnd:
    timeout: 5000

# --- Auth ---
- assertVisible:
    text: "E-Mail"
- tapOn:
    text: "E-Mail"
- inputText: ${E2E_TEST_USER}@rebreak.internal
- tapOn:
    text: "Passwort"
- inputText: ${E2E_TEST_PASSWORD}
- tapOn:
    text: "Anmelden"
- waitForAnimationToEnd:
    timeout: 10000

- assertVisible:
    text: "ReBreak"

# --- SOS öffnen via Header-Dropdown ---
# FRAGILE: Avatar-Button hat kein testID → Koordinaten-Tap
# Ersetzen mit: tapOn: { id: "header-avatar-btn" } nach testID-Ergänzung
- tapOn:
    id: "header-avatar-btn"
- waitForAnimationToEnd:
    timeout: 2000

- assertVisible:
    text: "SOS"
- tapOn:
    text: "SOS"

# SOS-Screen startet RiveAvatar + Lyra-Streaming
- waitForAnimationToEnd:
    timeout: 12000

- assertVisible:
    text: "Was beschäftigt dich?"

# Erste Lyra-Nachricht schon sichtbar → Screenshot der leeren/Start-State für clean look
# Für vorzeigbareren Shot: eine Nachricht senden und auf Antwort warten
- tapOn:
    text: "Was beschäftigt dich?"
- waitForAnimationToEnd:
    timeout: 500

# Realistischer, nicht-klinischer Testtext für Marketing-Screenshot
- inputText: "Ich weiß nicht mehr weiter."
- pressKey: Return

# Warten bis Lyra antwortet und Chips erscheinen
- waitForAnimationToEnd:
    timeout: 20000

# Chip "Atemübung" bestätigt aktive Lyra-Response
- assertVisible:
    text: "Atemübung"

- waitForAnimationToEnd:
    timeout: 1000

- takeScreenshot: screenshots/04-sos-lyra
