feat: explore tab, React Query data layer, programs, sync, analytics, testing infrastructure
- Replace browse tab with Supabase-connected explore tab with filters - Add React Query for data fetching with loading states - Add 3 structured programs with weekly progression - Add Supabase anonymous auth sync service - Add PostHog analytics with screen tracking and events - Add comprehensive test strategy (Vitest + Maestro E2E) - Add RevenueCat subscription system with DEV simulation - Add i18n translations for new screens (EN/FR/DE/ES) - Add data deletion modal, sync consent modal - Add assessment screen and program routes - Add GitHub Actions CI workflow - Update activity store with sync integration
This commit is contained in:
111
.maestro/flows/profile-settings.yaml
Normal file
111
.maestro/flows/profile-settings.yaml
Normal file
@@ -0,0 +1,111 @@
|
||||
# Profile & Settings Flow Test
|
||||
# Tests the profile screen, settings toggles, and navigation
|
||||
# Prerequisite: User must have completed onboarding
|
||||
|
||||
appId: com.millianlmx.tabatafit
|
||||
name: Profile Settings
|
||||
|
||||
---
|
||||
# Start from home screen
|
||||
- assertVisible: "program-card-upper-body"
|
||||
|
||||
# Navigate to Profile tab
|
||||
- tapOn:
|
||||
text: "Profile"
|
||||
optional: true
|
||||
- tapOn:
|
||||
id: "profile-tab"
|
||||
optional: true
|
||||
|
||||
# Verify profile screen loaded
|
||||
- assertVisible:
|
||||
text: ".*Profile.*"
|
||||
timeout: 5000
|
||||
|
||||
# Check user avatar/name is displayed
|
||||
- assertVisible:
|
||||
text: ".*Test User.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Check stats are visible
|
||||
- assertVisible:
|
||||
text: ".*workout.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Scroll to settings section
|
||||
- scroll:
|
||||
direction: DOWN
|
||||
duration: 500
|
||||
|
||||
# Check for Haptic Feedback toggle
|
||||
- assertVisible:
|
||||
text: ".*aptic.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Check for Sound Effects toggle
|
||||
- assertVisible:
|
||||
text: ".*ound.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Check for Voice Coaching toggle
|
||||
- assertVisible:
|
||||
text: ".*oice.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Scroll down to notifications section
|
||||
- scroll:
|
||||
direction: DOWN
|
||||
duration: 500
|
||||
|
||||
# Check for Reminders toggle
|
||||
- assertVisible:
|
||||
text: ".*eminder.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Scroll down to support section
|
||||
- scroll:
|
||||
direction: DOWN
|
||||
duration: 500
|
||||
|
||||
# Check for Rate App option
|
||||
- assertVisible:
|
||||
text: ".*Rate.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Check for Contact Us option
|
||||
- assertVisible:
|
||||
text: ".*Contact.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Check for app version
|
||||
- assertVisible:
|
||||
text: ".*1\\..*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Scroll back to top
|
||||
- scroll:
|
||||
direction: UP
|
||||
duration: 1500
|
||||
|
||||
# Navigate back to Home
|
||||
- tapOn:
|
||||
text: "Home"
|
||||
optional: true
|
||||
- tapOn:
|
||||
id: "home-tab"
|
||||
optional: true
|
||||
|
||||
# Verify home screen
|
||||
- assertVisible:
|
||||
id: "program-card-upper-body"
|
||||
timeout: 5000
|
||||
optional: true
|
||||
Reference in New Issue
Block a user