test: add QA coverage — access unit tests, VideoPlayer snapshots, Maestro E2E flows, testIDs
- Add testIDs to explore, workout detail, and collection detail screens - Add testID prop to VideoPlayer component - Create access service unit tests (isFreeWorkout, canAccessWorkout) - Create VideoPlayer rendering snapshot tests (preview/background modes) - Create Maestro E2E flows: explore-freemium, collection-detail - Update tab-navigation flow with Explore screen assertions - Update profile-settings flow with real activity stat assertions - Update all-tests suite to include new flows
This commit is contained in:
93
.maestro/flows/collection-detail.yaml
Normal file
93
.maestro/flows/collection-detail.yaml
Normal file
@@ -0,0 +1,93 @@
|
||||
# Collection Detail Test
|
||||
# Tests navigating to a collection and viewing its workouts
|
||||
# Prerequisite: User must have completed onboarding
|
||||
|
||||
appId: com.millianlmx.tabatafit
|
||||
name: Collection Detail
|
||||
|
||||
---
|
||||
# Navigate to Explore tab
|
||||
- tapOn:
|
||||
text: "Explore"
|
||||
optional: true
|
||||
- tapOn:
|
||||
id: "explore-tab"
|
||||
optional: true
|
||||
|
||||
# Verify Explore screen loaded
|
||||
- assertVisible:
|
||||
id: "explore-screen"
|
||||
timeout: 5000
|
||||
|
||||
# Verify collections section
|
||||
- assertVisible:
|
||||
id: "collections-section"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Tap the first collection card
|
||||
- tapOn:
|
||||
text: ".*collection.*"
|
||||
optional: true
|
||||
|
||||
# If collection-card testIDs are visible, tap by testID instead
|
||||
- tapOn:
|
||||
id: "collection-card-.*"
|
||||
optional: true
|
||||
|
||||
# Verify collection detail screen loaded
|
||||
- assertVisible:
|
||||
id: "collection-detail-screen"
|
||||
timeout: 5000
|
||||
optional: true
|
||||
|
||||
# Verify hero card is visible
|
||||
- assertVisible:
|
||||
id: "collection-hero"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Verify back button exists
|
||||
- assertVisible:
|
||||
id: "collection-back-button"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Verify workouts are listed
|
||||
- assertVisible:
|
||||
text: ".*Workout.*"
|
||||
timeout: 3000
|
||||
optional: true
|
||||
|
||||
# Scroll to see more workouts
|
||||
- scroll:
|
||||
direction: DOWN
|
||||
duration: 500
|
||||
|
||||
# Tap a workout in the collection
|
||||
- tapOn:
|
||||
id: "collection-workout-.*"
|
||||
optional: true
|
||||
|
||||
# Verify workout detail opened
|
||||
- assertVisible:
|
||||
id: "workout-detail-screen"
|
||||
timeout: 5000
|
||||
optional: true
|
||||
|
||||
# Go back to collection
|
||||
- pressKey: back
|
||||
optional: true
|
||||
|
||||
# Go back to explore via back button
|
||||
- tapOn:
|
||||
id: "collection-back-button"
|
||||
optional: true
|
||||
|
||||
# Navigate back to Home
|
||||
- tapOn:
|
||||
text: "Home"
|
||||
optional: true
|
||||
- tapOn:
|
||||
id: "home-tab"
|
||||
optional: true
|
||||
Reference in New Issue
Block a user