# profile/view-profile.yaml # User-Journey: Login -> Home -> Header-Dropdown -> Profil antippen -> ProfileScreen sichtbar. # Prueft: Profil-Navigation funktioniert, ProfileHeader mit Nickname + Plan-Badge sichtbar, # StatsBar geladen (Posts/Followers/Domains-Zahlen sichtbar). # # Pre-requisite: App installiert, E2E_TEST_USER hat einen gueltigen Account auf Staging. # 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: 8000 # --- Home-Screen --- - assertVisible: text: "ReBreak" # Header-Dropdown oeffnen via Avatar-Tap (obere rechte Ecke). # TODO: testID="header-avatar-btn" in AppHeader ergaenzen fuer stabilen Selektor. - tapOn: point: "93%, 6%" - waitForAnimationToEnd: timeout: 2000 # Dropdown offen: "Profil"-Item (headerMenu.profile = "Profil", de.json Z.102) - assertVisible: text: "Profil" - tapOn: text: "Profil" - waitForAnimationToEnd: timeout: 4000 # ProfileScreen: AppHeader zeigt title="Profil" (hardcoded in ProfileScreen, Z.159). # Achtung: "Profil" erscheint sowohl im AppHeader-Title als auch im Dropdown. # Nach Navigation ist das Dropdown weg -> "Profil" im Header eindeutig. - assertVisible: text: "Profil" # ProfileHeader zeigt Nickname des Test-Users. # Test-User: claude-android-test -> Nickname = erste 2 Buchstaben als Initialen ODER # Nickname-Text aus DB. Wir pruefen auf einen der Plan-Labels (free/pro/legend). # Plan-Labels sind locale-unabhaengig (hartcodierte Strings in planLabel-Record): # free -> "Free", pro -> "Pro", legend -> "Legend". - assertVisible: text: "Free" # StatsBar: Zeigt hardcoded Labels "Posts" und "Follower" (StatsBar.tsx Z.105-107). # Locale-unabhaengig — kein i18n. "Posts" erscheint nur im ProfileScreen-StatsBar-Kontext. - assertVisible: text: "Posts"