diff --git a/.maestro/00-server-setup.yaml b/.maestro/00-server-setup.yaml index 1fa035f3..a74dd8d0 100644 --- a/.maestro/00-server-setup.yaml +++ b/.maestro/00-server-setup.yaml @@ -36,10 +36,12 @@ appId: ${APP_ID} - takeScreenshot: 00-06-saved - tapOn: text: "Home" -# The e2e server's test stream showing up in the feed proves the app is -# actually talking to the custom node and not production. +# A stream card showing up in the feed proves the app is talking to the +# custom node (its isolated firehose only has our test stream). Matched +# by testID because the card's link wrapper collapses its subtree on iOS, +# hiding the title text from Maestro. - extendedWaitUntil: visible: - text: "e2e test stream" + id: "home-stream-card" timeout: 30000 - takeScreenshot: 00-07-home diff --git a/.maestro/04-stream.yaml b/.maestro/04-stream.yaml index 6673e2bc..7c6c3af9 100644 --- a/.maestro/04-stream.yaml +++ b/.maestro/04-stream.yaml @@ -2,17 +2,22 @@ appId: ${APP_ID} --- - launchApp - takeScreenshot: 04-01-launched -# open the e2e test account's live stream from the home feed +# open the test stream from the home feed. Matched by testID because the +# card's link wrapper collapses its subtree on iOS. - extendedWaitUntil: visible: - text: "e2e test stream" + id: "home-stream-card" timeout: 30000 - tapOn: - text: "e2e test stream" + id: "home-stream-card" - waitForAnimationToEnd - takeScreenshot: 04-02-stream-open -- assertVisible: - text: ".*e2e test stream.*" +# the stream's "Now streaming - e2e test stream" chat system message is +# plain text; give it time to arrive over the chat socket +- extendedWaitUntil: + visible: + text: ".*e2e test stream.*" + timeout: 30000 # tap on the video to show the player controls - tapOn: point: 50%,20% diff --git a/js/app/components/aqlink.tsx b/js/app/components/aqlink.tsx index 48024df0..8ddd3f2f 100644 --- a/js/app/components/aqlink.tsx +++ b/js/app/components/aqlink.tsx @@ -35,10 +35,12 @@ export default function AQLink({ children, to, style, + testID, }: { children: React.ReactNode; to: LinkParams; style?: StyleProp; + testID?: string; }) { const { isWeb } = usePlatform(); const navigation = useNavigation(); @@ -116,6 +118,7 @@ export default function AQLink({ on web href={isWeb ? href : undefined} > diff --git a/js/app/src/screens/home.tsx b/js/app/src/screens/home.tsx index c8f82cfc..5830f0e2 100644 --- a/js/app/src/screens/home.tsx +++ b/js/app/src/screens/home.tsx @@ -118,6 +118,7 @@ function HomeScreenItem({ const user = item.author.handle || item.author.did; return (