From 7fc5b740138a2017bde3dcb32fa0a423e6449c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 15 May 2026 15:55:58 +0200 Subject: [PATCH 1/4] Fix Maestro: tap on confirmation for inviting unknown users to a room --- .maestro/tests/roomList/createAndDeleteRoom.yaml | 3 ++- features/invitepeople/impl/build.gradle.kts | 1 + .../android/features/invitepeople/impl/InvitePeopleView.kt | 5 ++++- .../kotlin/io/element/android/libraries/testtags/TestTags.kt | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.maestro/tests/roomList/createAndDeleteRoom.yaml b/.maestro/tests/roomList/createAndDeleteRoom.yaml index b53066ccd5c..85a7e0474d8 100644 --- a/.maestro/tests/roomList/createAndDeleteRoom.yaml +++ b/.maestro/tests/roomList/createAndDeleteRoom.yaml @@ -24,7 +24,8 @@ appId: ${MAESTRO_APP_ID} text: ${MAESTRO_INVITEE2_MXID} index: 1 - tapOn: "Invite" -- tapOn: "Back" +- tapOn: + id: "confirm_invite_unknown" - tapOn: "aRoomName" - scrollUntilVisible: direction: DOWN diff --git a/features/invitepeople/impl/build.gradle.kts b/features/invitepeople/impl/build.gradle.kts index 185497c25b4..2ab2fcb4a3b 100644 --- a/features/invitepeople/impl/build.gradle.kts +++ b/features/invitepeople/impl/build.gradle.kts @@ -36,6 +36,7 @@ dependencies { implementation(projects.libraries.uiUtils) implementation(projects.libraries.androidutils) implementation(projects.libraries.usersearch.api) + implementation(projects.libraries.testtags) implementation(libs.coil.compose) implementation(projects.services.apperror.api) implementation(projects.libraries.featureflag.api) diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt index b1f139f43cc..3e9de701659 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt @@ -23,6 +23,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp @@ -54,6 +55,8 @@ import io.element.android.libraries.matrix.ui.components.MatrixUserRow import io.element.android.libraries.matrix.ui.components.SelectedUsersRowList import io.element.android.libraries.matrix.ui.model.getAvatarData import io.element.android.libraries.matrix.ui.model.getBestName +import io.element.android.libraries.testtags.TestTags +import io.element.android.libraries.testtags.testTag import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.utils.strings.simplePluralStringResource import kotlinx.collections.immutable.ImmutableList @@ -298,7 +301,7 @@ private fun InvitePeopleConfirmModal( text = stringResource(CommonStrings.action_remove), onClick = onRemove, leadingIcon = IconSource.Vector(CompoundIcons.Close()), - modifier = Modifier.weight(1f) + modifier = Modifier.weight(1f).testTag(TestTags.confirmInviteUnknown), ) Button( text = stringResource(CommonStrings.action_invite), diff --git a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt index e564ddac414..4b3a0d6ffac 100644 --- a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt +++ b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt @@ -124,4 +124,6 @@ object TestTags { * */ val roomAddressField = TestTag("room_address_field") + + val confirmInviteUnknown = TestTag("confirm_invite_unknown") } From bd629123df362dc46d8f5d9c6361b850e34d47de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 15 May 2026 16:14:12 +0200 Subject: [PATCH 2/4] Tap on back after inviting some user --- .maestro/tests/roomList/createAndDeleteRoom.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.maestro/tests/roomList/createAndDeleteRoom.yaml b/.maestro/tests/roomList/createAndDeleteRoom.yaml index 85a7e0474d8..21baeeff305 100644 --- a/.maestro/tests/roomList/createAndDeleteRoom.yaml +++ b/.maestro/tests/roomList/createAndDeleteRoom.yaml @@ -26,7 +26,7 @@ appId: ${MAESTRO_APP_ID} - tapOn: "Invite" - tapOn: id: "confirm_invite_unknown" -- tapOn: "aRoomName" +- tapOn: "Back" - scrollUntilVisible: direction: DOWN element: From 32089be9b116d2b886b55bf3f99630839dac205c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 15 May 2026 16:32:02 +0200 Subject: [PATCH 3/4] Tap on back again --- .maestro/tests/roomList/createAndDeleteRoom.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.maestro/tests/roomList/createAndDeleteRoom.yaml b/.maestro/tests/roomList/createAndDeleteRoom.yaml index 21baeeff305..54d15c820bd 100644 --- a/.maestro/tests/roomList/createAndDeleteRoom.yaml +++ b/.maestro/tests/roomList/createAndDeleteRoom.yaml @@ -26,6 +26,9 @@ appId: ${MAESTRO_APP_ID} - tapOn: "Invite" - tapOn: id: "confirm_invite_unknown" +# Close the keyboard if it's still open +- tapOn: "Back" +# Go back to the room details screen - tapOn: "Back" - scrollUntilVisible: direction: DOWN From 08b67b176dac8563fa75e056d3bfdd61d16d3f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 15 May 2026 17:01:45 +0200 Subject: [PATCH 4/4] Confirm inviting someone to a DM --- .maestro/tests/roomList/createAndDeleteDM.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.maestro/tests/roomList/createAndDeleteDM.yaml b/.maestro/tests/roomList/createAndDeleteDM.yaml index a6279151ea6..eed576c04fa 100644 --- a/.maestro/tests/roomList/createAndDeleteDM.yaml +++ b/.maestro/tests/roomList/createAndDeleteDM.yaml @@ -7,7 +7,7 @@ appId: ${MAESTRO_APP_ID} - tapOn: text: ${MAESTRO_INVITEE1_MXID} index: 1 -- tapOn: "Send invite" +- tapOn: "Continue" - takeScreenshot: build/maestro/330-createAndDeleteDM - tapOn: "maestroelement2" - scroll