appId: xyz.blueskyweb.app --- - runScript: file: ../setupServer.js env: SERVER_PATH: ?users&follows&posts&feeds - runFlow: file: ../setupApp.yml - tapOn: id: "e2eSignInAlice" # Pin alice's feed - extendedWaitUntil: visible: "Open drawer menu" - tapOn: "Open drawer menu" - tapOn: id: "profileCardButton" - tapOn: id: "profilePager-selector-5" - tapOn: "alice-favs" - tapOn: "Pin to Home" - tapOn: id: "bottomBarHomeBtn" - assertNotVisible: "Feeds ✨" - assertVisible: id: "homeScreenFeedTabs-selector-0" text: "Following" - assertVisible: id: "homeScreenFeedTabs-selector-1" text: "alice-favs" # Reordering feeds is driven by a drag on the feed-drag-handle. Maestro cannot # activate the RNGH Pan gesture from a synthetic swipe on Android (proven # twice - coordinate swipes never register the pan), so the reorder # verification below runs on iOS only. If Android drag coverage is needed, # revisit with the SavedFeedsA11y move buttons rather than a swipe. - runFlow: when: platform: iOS commands: # Set alice-favs first - tapOn: "Open drawer menu" - tapOn: id: "menuItemButton-Feeds" - tapOn: id: "editFeedsBtn" - swipe: label: "Drag feed down" from: id: "feed-drag-handle" direction: "DOWN" duration: 1000 - assertVisible: id: "saveChangesBtn" enabled: true - tapOn: label: "Save button" id: "saveChangesBtn" - tapOn: "Go back" - assertVisible: id: "homeScreenFeedTabs-selector-0" text: "alice-favs" - assertVisible: id: "homeScreenFeedTabs-selector-1" text: "Following" # Set following first - tapOn: "Open drawer menu" - tapOn: id: "menuItemButton-Feeds" - tapOn: id: "editFeedsBtn" - swipe: label: "Drag feed down" from: id: "feed-drag-handle" direction: "DOWN" duration: 1000 - assertVisible: id: "saveChangesBtn" enabled: true - tapOn: label: "Save button" id: "saveChangesBtn" - tapOn: "Go back" - assertVisible: id: "homeScreenFeedTabs-selector-0" text: "Following" - assertVisible: id: "homeScreenFeedTabs-selector-1" text: "alice-favs" # On Android, the reorder path above is skipped. Smoke-test that the feeds # edit screen opens and the pinned feeds render, then return to a valid state. - runFlow: when: platform: Android commands: - tapOn: "Open drawer menu" - tapOn: id: "menuItemButton-Feeds" - tapOn: id: "editFeedsBtn" - assertVisible: "Following" - assertVisible: "alice-favs" # Two back presses to reach Home: the first pops the saved-feeds editor # back to the Feeds screen, the second pops Feeds back to Home. On iOS the # equivalent path saves changes first (saveChangesBtn calls # navigation.goBack), so a single "Go back" there already lands on Home. # This Android smoke branch never saves, so it needs the extra pop to # leave the screen state on Home, which the shared steps below expect. - tapOn: "Go back" - tapOn: "Go back" # Remove following - tapOn: "Open drawer menu" - tapOn: id: "menuItemButton-Feeds" - tapOn: id: "editFeedsBtn" - tapOn: label: "Tap on unpin" id: "feed-timeline-togglePin" - tapOn: label: "Save button" id: "saveChangesBtn" - tapOn: "Go back" - assertVisible: id: "homeScreenFeedTabs-selector-0" text: "alice-favs" - assertNotVisible: "Following"