Skip to content

Commit 49cfb7e

Browse files
Merge branch 'main' into dependabot/npm_and_yarn/es5-ext-0.10.64
2 parents 1057c4d + fcbff65 commit 49cfb7e

8 files changed

Lines changed: 68 additions & 47 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: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,47 @@
1-
import TestHelpers from '../helpers';
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 '../../wdio/screen-objects/testIDs/Components/TabBar.testIds';
1+
import Matchers from '../utils/Matchers';
2+
import Gestures from '../utils/Gestures';
3+
import { TabBarSelectorIDs } from '../selectors/TabBar.selectors';
94

10-
export default class TabBarComponent {
11-
static async tapBrowser() {
12-
await TestHelpers.delay(2500);
13-
await TestHelpers.waitAndTap(TAB_BAR_BROWSER_BUTTON);
14-
await TestHelpers.delay(1000);
5+
class TabBarComponent {
6+
get tabBarBrowserButton() {
7+
return Matchers.getElementByID(TabBarSelectorIDs.BROWSER);
158
}
169

17-
static async tapWallet() {
18-
await TestHelpers.waitAndTap(TAB_BAR_WALLET_BUTTON);
10+
get tabBarWalletButton() {
11+
return Matchers.getElementByID(TabBarSelectorIDs.WALLET);
1912
}
2013

21-
static async tapActions() {
22-
await TestHelpers.delay(3000);
23-
await TestHelpers.waitAndTap(TAB_BAR_ACTION_BUTTON);
14+
get tabBarActionButton() {
15+
return Matchers.getElementByID(TabBarSelectorIDs.ACTIONS);
2416
}
2517

26-
static async tapSettings() {
27-
await TestHelpers.waitAndTap(TAB_BAR_SETTING_BUTTON);
18+
get tabBarSettingButton() {
19+
return Matchers.getElementByID(TabBarSelectorIDs.SETTING);
2820
}
2921

30-
static async tapActivity() {
31-
await TestHelpers.waitAndTap(TAB_BAR_ACTIVITY_BUTTON);
22+
get tabBarActivityButton() {
23+
return Matchers.getElementByID(TabBarSelectorIDs.ACTIVITY);
24+
}
25+
26+
async tapBrowser() {
27+
await Gestures.waitAndTap(this.tabBarBrowserButton);
28+
}
29+
30+
async tapWallet() {
31+
await Gestures.waitAndTap(this.tabBarWalletButton);
32+
}
33+
34+
async tapActions() {
35+
await Gestures.waitAndTap(this.tabBarActionButton);
36+
}
37+
38+
async tapSettings() {
39+
await Gestures.waitAndTap(this.tabBarSettingButton);
40+
}
41+
42+
async tapActivity() {
43+
await Gestures.waitAndTap(this.tabBarActivityButton);
3244
}
3345
}
46+
47+
export default new TabBarComponent();

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+
};

e2e/viewHelper.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ export const loginToApp = async () => {
189189
await LoginView.isVisible();
190190
await LoginView.enterPassword(PASSWORD);
191191

192-
await WalletView.isVisible();
193192
await TestHelpers.delay(2500);
194193
try {
195194
await WhatsNewModal.isVisible();

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@
241241
"obs-store": "4.0.3",
242242
"path": "0.12.7",
243243
"pbkdf2": "3.1.2",
244-
"pify": "4.0.1",
244+
"pify": "6.1.0",
245245
"prop-types": "15.7.2",
246246
"pump": "3.0.0",
247247
"punycode": "^2.1.1",

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() {

yarn.lock

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22590,10 +22590,10 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0, picomatc
2259022590
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
2259122591
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
2259222592

22593-
pify@4.0.1, pify@^4.0.1:
22594-
version "4.0.1"
22595-
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
22596-
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
22593+
pify@6.1.0:
22594+
version "6.1.0"
22595+
resolved "https://registry.yarnpkg.com/pify/-/pify-6.1.0.tgz#db9f2ebfba65f0bc144db65ae84d1a486ab72909"
22596+
integrity sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==
2259722597

2259822598
pify@^2.0.0:
2259922599
version "2.3.0"
@@ -22605,6 +22605,11 @@ pify@^3.0.0:
2260522605
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
2260622606
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
2260722607

22608+
pify@^4.0.1:
22609+
version "4.0.1"
22610+
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
22611+
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
22612+
2260822613
pify@^5.0.0:
2260922614
version "5.0.0"
2261022615
resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"

0 commit comments

Comments
 (0)