# auth/email-signin.yaml
# Tests: App starts → sign-in screen loads → email+password login succeeds → Home-Feed visible.
# Pre-requisite: App installed, E2E_TEST_USER account exists on staging backend.
# Env-Vars: E2E_TEST_USER (username without @rebreak.internal), E2E_TEST_PASSWORD
# Expected outcome: "ReBreak" headline visible in AppHeader after login.
# Note: No testIDs on signin inputs — text selectors match i18n keys from de.json.
#       Run with --env=E2E_LOCALE=de if CI device locale may differ.

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

# Splash / font-load can take a moment
- waitForAnimationToEnd:
    timeout: 5000

# Signin screen must appear immediately — no auth state after clearState.
# TextInput placeholder = t('auth.emailPlaceholder') = "E-Mail" (de.json)
- assertVisible:
    text: "E-Mail"

- tapOn:
    text: "E-Mail"
- inputText: ${E2E_TEST_USER}@rebreak.internal

# Password input placeholder = t('auth.passwordPlaceholder') = "Passwort" (de.json)
- tapOn:
    text: "Passwort"
- inputText: ${E2E_TEST_PASSWORD}

# Submit button text = t('auth.signin') = "Anmelden" (de.json)
# Button is disabled until both fields have content — typing above enables it.
- tapOn:
    text: "Anmelden"

# Supabase auth + /api/auth/me call — allow network round-trip
- waitForAnimationToEnd:
    timeout: 10000

# AppHeader shows t('appHeader.appName') = "ReBreak" (hardcoded fallback, de.json).
# This text only appears in the authenticated Home layout.
- assertVisible:
    text: "ReBreak"
