Skip to content

Commit 81b6c47

Browse files
committed
remove duplication in wdio folder, simplify detox page objects
1 parent d633594 commit 81b6c47

5 files changed

Lines changed: 28 additions & 31 deletions

File tree

app/component-library/components/Navigation/TabBar/TabBar.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
// Third party dependencies.
44
import React, { useCallback, useRef } from 'react';
5-
import { Platform, View } from 'react-native';
5+
import { View } from 'react-native';
66
import { useSafeAreaInsets } from 'react-native-safe-area-context';
77
import { useSelector } from 'react-redux';
8-
98
// External dependencies.
109
import TabBarItem from '../TabBarItem';
1110
import { useStyles } from '../../../hooks';
12-
import generateTestId from '../../../../../wdio/utils/generateTestId';
1311
import Routes from '../../../../constants/navigation/Routes';
1412
import { useTheme } from '../../../../util/theme';
1513
import { MetaMetricsEvents } from '../../../../core/Analytics';
@@ -56,7 +54,7 @@ const TabBar = ({ state, descriptors, navigation }: TabBarProps) => {
5654
//TODO: use another option on add it to the prop interface
5755
const callback = options.callback;
5856
const rootScreenName = options.rootScreenName;
59-
const key = `tab-bar-item-${tabBarIconKey}`;
57+
const key = `tab-bar-item-${tabBarIconKey}`; // this key is also used to identify elements for e2e testing
6058
const isSelected = state.index === index;
6159
const icon = ICON_BY_TAB_BAR_ICON_KEY[tabBarIconKey];
6260
const onPress = () => {
@@ -121,7 +119,7 @@ const TabBar = ({ state, descriptors, navigation }: TabBarProps) => {
121119
iconSize={iconProps.size}
122120
iconBackgroundColor={iconProps.backgroundColor}
123121
iconColor={iconProps.color}
124-
{...generateTestId(Platform, key)}
122+
testID={key}
125123
/>
126124
);
127125
},

e2e/pages/TabBarComponent.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,26 @@
11
import Matchers from '../utils/Matchers';
22
import Gestures from '../utils/Gestures';
3-
import {
4-
TAB_BAR_ACTION_BUTTON,
5-
TAB_BAR_BROWSER_BUTTON,
6-
TAB_BAR_SETTING_BUTTON,
7-
TAB_BAR_WALLET_BUTTON,
8-
TAB_BAR_ACTIVITY_BUTTON,
9-
} from '../../wdio/screen-objects/testIDs/Components/TabBar.testIds';
3+
import { TabBarSelectorIDs } from '../selectors/TabBar.selectors';
104

115
class TabBarComponent {
126
get tabBarBrowserButton() {
13-
return Matchers.getElementByID(TAB_BAR_BROWSER_BUTTON);
7+
return Matchers.getElementByID(TabBarSelectorIDs.BROWSER);
148
}
159

1610
get tabBarWalletButton() {
17-
return Matchers.getElementByID(TAB_BAR_WALLET_BUTTON);
11+
return Matchers.getElementByID(TabBarSelectorIDs.WALLET);
1812
}
1913

2014
get tabBarActionButton() {
21-
return Matchers.getElementByID(TAB_BAR_ACTION_BUTTON);
15+
return Matchers.getElementByID(TabBarSelectorIDs.ACTIONS);
2216
}
2317

2418
get tabBarSettingButton() {
25-
return Matchers.getElementByID(TAB_BAR_SETTING_BUTTON);
19+
return Matchers.getElementByID(TabBarSelectorIDs.SETTING);
2620
}
2721

2822
get tabBarActivityButton() {
29-
return Matchers.getElementByID(TAB_BAR_ACTIVITY_BUTTON);
23+
return Matchers.getElementByID(TabBarSelectorIDs.ACTIVITY);
3024
}
3125

3226
async tapBrowser() {

e2e/selectors/TabBar.selectors.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// eslint-disable-next-line import/prefer-default-export
2+
export const TabBarSelectorIDs = {
3+
WALLET: 'tab-bar-item-Wallet',
4+
BROWSER: 'tab-bar-item-Browser',
5+
ACTIONS: 'tab-bar-item-Actions',
6+
SETTING: 'tab-bar-item-Setting',
7+
ACTIVITY: 'tab-bar-item-Activity',
8+
};

wdio/screen-objects/Modals/TabBarModal.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,29 @@
11
import Selectors from '../../helpers/Selectors';
2-
import {
3-
TAB_BAR_ACTION_BUTTON,
4-
TAB_BAR_BROWSER_BUTTON,
5-
TAB_BAR_SETTING_BUTTON,
6-
TAB_BAR_WALLET_BUTTON,
7-
TAB_BAR_ACTIVITY_BUTTON,
8-
} from '../testIDs/Components/TabBar.testIds';
2+
3+
import { TabBarSelectorIDs } from '../../../e2e/selectors/TabBar.selectors';
4+
95
import Gestures from '../../helpers/Gestures';
106
import BrowserScreen from '../BrowserObject/BrowserScreen';
117

128
class TabBarModal {
139
get walletButton() {
14-
return Selectors.getElementByPlatform(TAB_BAR_WALLET_BUTTON);
10+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.WALLET);
1511
}
1612

1713
get browserButton() {
18-
return Selectors.getXpathElementByResourceId(TAB_BAR_BROWSER_BUTTON);
14+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.BROWSER);
1915
}
2016

2117
get actionButton() {
22-
return Selectors.getElementByPlatform(TAB_BAR_ACTION_BUTTON);
18+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.ACTIONS);
2319
}
2420

2521
get settingsButton() {
26-
return Selectors.getElementByPlatform(TAB_BAR_SETTING_BUTTON);
22+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.SETTING);
2723
}
2824

2925
get activityButton() {
30-
return Selectors.getElementByPlatform(TAB_BAR_ACTIVITY_BUTTON);
26+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.ACTIVITY);
3127
}
3228

3329
async tapWalletButton() {

wdio/screen-objects/WalletMainScreen.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import {
2020
} from './testIDs/Screens/WalletView.testIds';
2121

2222
import { NOTIFICATION_TITLE } from './testIDs/Components/Notification.testIds';
23-
import { TAB_BAR_WALLET_BUTTON } from './testIDs/Components/TabBar.testIds';
23+
import { TabBarSelectorIDs } from '../../e2e/selectors/TabBar.selectors';
24+
2425
import { BACK_BUTTON_SIMPLE_WEBVIEW } from './testIDs/Components/SimpleWebView.testIds';
2526

2627
class WalletMainScreen {
@@ -89,7 +90,7 @@ class WalletMainScreen {
8990
}
9091

9192
get walletButton() {
92-
return Selectors.getXpathElementByResourceId(TAB_BAR_WALLET_BUTTON);
93+
return Selectors.getXpathElementByResourceId(TabBarSelectorIDs.WALLET);
9394
}
9495

9596
get goBackSimpleWebViewButton() {

0 commit comments

Comments
 (0)