From 59d23d01022dc495d53c78206124bcdcf6b24504 Mon Sep 17 00:00:00 2001 From: Jonathan Tzeng Date: Mon, 15 Jun 2026 15:04:17 -0700 Subject: [PATCH 1/2] test: add missing testIDs for maestro selectors Add testIDs to the send address tile buttons (enter, myself, scan, paste) and the SafeSlider confirm thumb so UI tests can drive the send flow by stable selectors instead of brittle text or coordinate matching. --- CHANGELOG.md | 2 ++ .../__snapshots__/AccelerateTxModal.test.tsx.snap | 1 + .../scenes/__snapshots__/SendScene2.ui.test.tsx.snap | 12 ++++++++++++ .../SwapConfirmationScene.test.tsx.snap | 1 + src/components/themed/SafeSlider.tsx | 1 + src/components/tiles/AddressTile2.tsx | 4 ++++ 6 files changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf61de5bca8..d09e8f28bc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased (develop) +- changed: Add testIDs to the send address tile buttons and the confirm slider to support UI test automation. + ## 4.49.0 (staging) - added: Monero wallet import support diff --git a/src/__tests__/modals/__snapshots__/AccelerateTxModal.test.tsx.snap b/src/__tests__/modals/__snapshots__/AccelerateTxModal.test.tsx.snap index 2c36f977410..e1503ee0bf6 100644 --- a/src/__tests__/modals/__snapshots__/AccelerateTxModal.test.tsx.snap +++ b/src/__tests__/modals/__snapshots__/AccelerateTxModal.test.tsx.snap @@ -619,6 +619,7 @@ exports[`AccelerateTxModalComponent should render with loading props 1`] = ` }, ] } + testID="confirmSliderThumb" > = props => { Date: Fri, 26 Jun 2026 16:23:48 -0700 Subject: [PATCH 2/2] test: add testIDs for create-wallet and wallet-list maestro selectors --- eslint.config.mjs | 1 - .../CreateWalletSelectCryptoScene.test.tsx.snap | 12 +++++++++--- .../scenes/CreateWalletSelectCryptoScene.tsx | 2 ++ src/components/scenes/WalletListScene.tsx | 1 + .../themed/CreateWalletSelectCryptoRow.tsx | 3 +++ src/components/themed/SearchFooter.tsx | 3 +++ src/components/themed/WalletListCurrencyRow.tsx | 1 + 7 files changed, 19 insertions(+), 4 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 8112af68391..0af85eb0e06 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -341,7 +341,6 @@ export default [ 'src/components/themed/SceneHeader.tsx', - 'src/components/themed/SearchFooter.tsx', 'src/components/themed/SelectableRow.tsx', 'src/components/themed/ShareButtons.tsx', diff --git a/src/__tests__/scenes/__snapshots__/CreateWalletSelectCryptoScene.test.tsx.snap b/src/__tests__/scenes/__snapshots__/CreateWalletSelectCryptoScene.test.tsx.snap index 754a6244f7a..57fe70e5d56 100644 --- a/src/__tests__/scenes/__snapshots__/CreateWalletSelectCryptoScene.test.tsx.snap +++ b/src/__tests__/scenes/__snapshots__/CreateWalletSelectCryptoScene.test.tsx.snap @@ -425,6 +425,7 @@ exports[`CreateWalletSelectCrypto should render with loading props 1`] = ` }, ] } + testID="createWalletSearch" > = (props: Props) => { pluginId={pluginId} tokenId={tokenId} walletName={displayName} + testID={`createRow.${key}`} onPress={async () => { await handleCreateWalletToggle(key) }} @@ -445,6 +446,7 @@ const CreateWalletSelectCryptoComponent: React.FC = (props: Props) => { withTopMargin /> = props => { ) : ( = props => { rightSide, settingsSummary, walletName, + testID, // Icon currency: pluginId, @@ -62,6 +64,7 @@ export const CreateWalletSelectCryptoRowComponent: React.FC = props => { style={styles.container} disabled={onPress == null} onPress={handlePress} + testID={testID} > void onCancel: () => void @@ -34,6 +35,7 @@ export const SearchFooter: React.FC = props => { searchText, noBackground, sceneWrapperInfo, + testID, onChangeText, onCancel, @@ -90,6 +92,7 @@ export const SearchFooter: React.FC = props => { onLayoutHeight={handleFooterLayoutHeight} >