Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
109e596
Changes
Rohit3523 Jul 7, 2026
946e086
temp solution
Rohit3523 Jul 7, 2026
b0703d5
moving to RN Touchable
Rohit3523 Jul 7, 2026
442eee9
test fix
Rohit3523 Jul 7, 2026
2334cbd
add hidekeyboard
Rohit3523 Jul 7, 2026
73e8bcc
lint fix
Rohit3523 Jul 7, 2026
6bc22e0
temporary let me build android apk to test
Rohit3523 Jul 7, 2026
a04b802
using correct gate this time
Rohit3523 Jul 7, 2026
5ecd71c
small test for 2FA Modal
Rohit3523 Jul 8, 2026
9a7d4e5
Merge branch 'develop' into ui-kit-button-fix
Rohit3523 Jul 30, 2026
c66940f
restore touch file
Rohit3523 Jul 30, 2026
8c09e6d
chore: format code and fix lint issues
Rohit3523 Jul 30, 2026
24bc31f
Import fix and remove one touch
Rohit3523 Jul 30, 2026
6ce41b8
Merge branch 'ui-kit-button-fix' of https://github.com/RocketChat/Roc…
Rohit3523 Jul 30, 2026
3998556
trying pressable from RNGH on android
Rohit3523 Aug 3, 2026
1044076
temporary disabled longPress test and link
Rohit3523 Aug 3, 2026
e134ee4
test import fix
Rohit3523 Aug 3, 2026
c1bc640
recover build-pr
Rohit3523 Aug 3, 2026
6a7bed4
some improvements
Rohit3523 Aug 4, 2026
2b0e87d
Merge branch 'develop' into ui-kit-button-fix
Rohit3523 Aug 4, 2026
dbff978
readded link long press test
Rohit3523 Aug 9, 2026
0fad987
Merge branch 'develop' into ui-kit-button-fix
Rohit3523 Aug 9, 2026
2e14ff6
updated test-map to include 2fa test
Rohit3523 Aug 10, 2026
b54a03e
added no memo annotation in actions component
Rohit3523 Aug 10, 2026
efa656d
ios server history background color fix
Rohit3523 Aug 10, 2026
6551848
added hasInlineTextPressClaim
Rohit3523 Aug 10, 2026
99751ee
rename inlineTextPress to nestedPress
Rohit3523 Aug 10, 2026
8944f23
using it as hook
Rohit3523 Aug 10, 2026
98141fd
move testId to child view
Rohit3523 Aug 11, 2026
b38a136
Merge branch 'develop' into ui-kit-button-fix
Rohit3523 Aug 11, 2026
f644fb4
added timeout for room scroll
Rohit3523 Aug 11, 2026
8131b23
snapshot update
Rohit3523 Aug 11, 2026
c3ee622
fix swipeable
Rohit3523 Aug 11, 2026
b97149c
revert the testId change
Rohit3523 Aug 11, 2026
ae4d8a4
improve unread-badge test to wait till alert remove before pressing back
Rohit3523 Aug 11, 2026
cea4e01
snap update
Rohit3523 Aug 11, 2026
2aaacfe
keyboard nav fix
Rohit3523 Aug 12, 2026
adcdb7e
Merge branch 'develop' into ui-kit-button-fix
Rohit3523 Aug 12, 2026
e000cb1
snapshot update
Rohit3523 Aug 12, 2026
c6ab438
snap update
Rohit3523 Aug 12, 2026
913284c
using test id for convert to channel
Rohit3523 Aug 13, 2026
4adca68
disable touch accessible for e2e test
Rohit3523 Aug 13, 2026
6d8f981
added test id for convert to channel
Rohit3523 Aug 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .maestro/helpers/navigate-to-room.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ tags:
- scrollUntilVisible:
element:
id: 'rooms-list-view-item-${ROOM}'
timeout: 60000
- waitForAnimationToEnd
- tapOn:
id: 'rooms-list-view-item-${ROOM}'
Expand Down
46 changes: 46 additions & 0 deletions .maestro/tests/onboarding/login/two-factor-login.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
appId: ${APP_ID}
name: Two Factor Modal Test
onFlowStart:
- runFlow: ../../../helpers/setup.yaml
tags:
- test-2

---
- runFlow: ../../../helpers/launch-app.yaml
- runFlow: ../../../helpers/navigate-to-login.yaml
- tapOn:
id: 'login-view-email'
- inputText: 'mobile+e2e_2fa_modal_test@rocket.chat'
- pressKey: enter
- tapOn:
id: 'login-view-password'
- inputText: 'e2e_2fa_modal_test'
- runFlow: '../../../helpers/hide-keyboard.yaml'
- tapOn:
id: login-view-submit

# Verify that 2FA modal is visible
- extendedWaitUntil:
visible: '.*Open your authentication app and enter the code.*'
timeout: 5000
- assertVisible: 'Cancel'
- assertVisible: 'Verify'

# Click verify button with wrong TOTP to make sure it's clickable and working
- tapOn:
id: 'two-factor-input'
- inputText: '000000'
- tapOn: 'Verify'
- extendedWaitUntil:
visible: '.*Invalid code.*'
timeout: 5000

# Click cancel button and it should hide 2FA modal
- tapOn: 'Cancel'
- extendedWaitUntil:
visible: '.*Your credentials were rejected! Please try again.*'
timeout: 5000
- tapOn: 'OK'
- extendedWaitUntil:
notVisible: '.*Your credentials were rejected! Please try again.*'
timeout: 5000
115 changes: 103 additions & 12 deletions .maestro/tests/room/message-markdown-click.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,19 @@ name: Message Markdown
jsEngine: graaljs
onFlowStart:
- runFlow: '../../helpers/setup.yaml'
onFlowComplete:
- evalScript: ${output.utils.deleteCreatedUsers()}
tags:
- test-9

---
- evalScript: ${output.user = output.utils.createUser()}

- runFlow:
file: '../../helpers/login-with-deeplink.yaml'
env:
USERNAME: ${output.user.username}
PASSWORD: ${output.user.password}
USERNAME: ${output.account.adminUser}
PASSWORD: ${output.account.adminPassword}
- runFlow:
file: '../../helpers/search-and-navigate-room.yaml'
env:
ROOM: 'maestro-message-clickable-test'
ROOM: 'maestro-message-clickable-test-temp'

- extendedWaitUntil:
visible:
Expand Down Expand Up @@ -63,7 +59,7 @@ tags:
# Wait for room view to be visible again
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test'
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Tap on the URL link to open alert
Expand All @@ -78,7 +74,7 @@ tags:
platform: iOS
commands:
- tapOn:
point: 66%,63%
point: 66%,59%

# Verify alert is shown with the link
- extendedWaitUntil:
Expand Down Expand Up @@ -143,7 +139,7 @@ tags:
# Wait for room view to be visible again
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test'
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Tap on message with thread to open thread room
Expand All @@ -163,7 +159,7 @@ tags:
# Wait for room view to be visible again
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test'
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Tap on "View thread" button
Expand All @@ -183,7 +179,7 @@ tags:
# Wait for room view to be visible again
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test'
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Now tap on a message within the thread
Expand All @@ -195,3 +191,98 @@ tags:
visible:
id: 'room-view-title-message with thread'
timeout: 60000

# Go back to main room
- tapOn:
id: header-back

# Wait for room view to be visible again
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Long press on avatar and make sure it show user info
- longPressOn: "rohit.bansal's avatar"
- extendedWaitUntil:
visible:
text: '.*User info*.'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Incorrect contains-pattern for text selectors.

These text selectors use '.*keyword*.' instead of the correct '.*keyword.*' form (leading and trailing .*). Since the target keyword sits at the end of the matched string in all three cases, the pattern will fail to match at runtime.

Based on learnings, in Maestro YAML selector fields, use the contains pattern '.*keyword.*' (leading and trailing .*); '.*keyword*.' is incorrect and will fail to match cases where the keyword appears at the end of the element's text.

🩹 Proposed fix
- text: '.*User info*.'
+ text: '.*User info.*'
- text: '.*Button tap received! This reply is private to you*.'
+ text: '.*Button tap received! This reply is private to you.*'
- text: '.*A very secret message visible after clicking Ephemeral Button*.'
+ text: '.*A very secret message visible after clicking Ephemeral Button.*'

Also applies to: 267-267, 286-286

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.maestro/tests/room/message-markdown-click.yaml at line 209, The text
selector patterns in the message markdown click Maestro YAML use the wrong
contains-match form (`.*keyword*.`), which won’t match when the keyword appears
at the end of the element text. Update the affected selector fields in this test
to use the proper contains pattern (`.*keyword.*`) consistently for the entries
matching “User info” and the other two similar cases in this file.

Source: Learnings

timeout: 60000

# Go back to main room
- tapOn: Back
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# This is to make sure that button is in correct state before we test
- runFlow:
when:
visible:
id: 'thread-unfollow'
commands:
- tapOn:
id: 'thread-unfollow'

# Click follow to notification button and make sure it stays in room and the button changes to unfollow
- tapOn:
id: 'thread-follow'
- extendedWaitUntil:
visible:
id: 'thread-unfollow'
timeout: 10000
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Click unfollow to notification button and make sure it stays in room and the button changes to follow
- tapOn:
id: 'thread-unfollow'
- extendedWaitUntil:
visible:
id: 'thread-follow'
timeout: 10000
- extendedWaitUntil:
visible:
id: 'room-view-title-maestro-message-clickable-test-temp'
timeout: 60000

# Click UI Kit Button
- runFlow:
when:
platform: iOS
commands:
- tapOn:
point: '55%,86%'
- runFlow:
when:
platform: Android
commands:
- tapOn: Tap Me

- extendedWaitUntil:
visible:
text: '.*Button tap received! This reply is private to you*.'
timeout: 10000

# Click Emphemeral UI Kit Button
- tapOn:
id: message-composer-input
- inputText:
text: '/send-emphemeral-button'
- extendedWaitUntil:
visible:
id: autocomplete-item-send-emphemeral-button
timeout: 10000
- tapOn:
id: autocomplete-item-send-emphemeral-button
- tapOn:
id: 'message-composer-send'
- hideKeyboard
- tapOn: 'Ephemeral Button'
- extendedWaitUntil:
visible:
text: '.*A very secret message visible after clicking Ephemeral Button*.'
timeout: 10000
16 changes: 16 additions & 0 deletions .maestro/tests/room/unread-badge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ tags:
timeout: 60000
- tapOn:
id: 'rooms-list-view-item-${output.otherUser.username}'
- extendedWaitUntil:
notVisible:
id: 'in-app-notification-.*'
timeout: 15000
- tapOn:
id: header-back
retryTapIfNoChange: true
Expand Down Expand Up @@ -62,6 +66,10 @@ tags:
timeout: 60000
- tapOn:
id: 'rooms-list-view-item-${output.otherUser.username}'
- extendedWaitUntil:
notVisible:
id: 'in-app-notification-.*'
timeout: 15000
- tapOn:
id: header-back
retryTapIfNoChange: true
Expand Down Expand Up @@ -91,6 +99,10 @@ tags:
timeout: 60000
- tapOn:
id: 'rooms-list-view-item-${output.otherUser.username}'
- extendedWaitUntil:
notVisible:
id: 'in-app-notification-.*'
timeout: 15000
- tapOn:
id: header-back
retryTapIfNoChange: true
Expand Down Expand Up @@ -120,6 +132,10 @@ tags:
timeout: 60000
- tapOn:
id: 'rooms-list-view-item-${output.otherUser.username}'
- extendedWaitUntil:
notVisible:
id: 'in-app-notification-.*'
timeout: 15000
- tapOn:
id: header-back
retryTapIfNoChange: true
Expand Down
5 changes: 3 additions & 2 deletions .maestro/tests/teams/convert-team.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ tags:
ROOM: ${output.toBeConverted}
- scrollUntilVisible:
element:
text: 'Convert to channel'
- tapOn: 'Convert to channel'
id: 'room-actions-convert-to-channel'
- tapOn:
id: 'room-actions-convert-to-channel'
- extendedWaitUntil:
visible:
text: '.*Converting team to channel.*'
Expand Down
4 changes: 4 additions & 0 deletions .sniffler/test-map.json
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,10 @@
"test": ".maestro/tests/onboarding/login/login.yaml",
"dependsOn": ["app/views/LoginView/**", "app/sagas/login.js"]
},
{
"test": ".maestro/tests/onboarding/login/two-factor-login.yaml",
"dependsOn": ["app/views/LoginView/**", "app/sagas/login.js", "app/containers/TwoFactor/**"]
},
{
"test": ".maestro/tests/onboarding/register/create-account.yaml",
"dependsOn": ["app/views/RegisterView/**", "app/sagas/login.js"]
Expand Down
Loading
Loading