Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: Add android detox coverage with new RN upgrade #6384

Merged
merged 278 commits into from
Jul 12, 2023
Merged
Show file tree
Hide file tree
Changes from 249 commits
Commits
Show all changes
278 commits
Select commit Hold shift + click to select a range
9ee1632
disable svg metro bundler config to allow Bigint to number conversion
joaoloureirop Mar 28, 2023
e7410e0
Update static-logos svg's
leotm Apr 4, 2023
1c8e088
Update .nvmrc from Node 14 to 16
leotm Apr 4, 2023
43c7a9c
Update Gemfile for RN 0.71.6
leotm Apr 4, 2023
013d3ab
Update deps and pods
leotm Apr 4, 2023
d8f7279
Add commented Babel config from debugging SVGs
leotm Apr 4, 2023
0030f60
Add back react-native-svg Metro config
leotm Apr 4, 2023
ad58291
Test all @ethereumjs/util methods and BigInt
leotm Apr 4, 2023
ba710c5
udpate android configs
joaoloureirop Apr 5, 2023
06799c1
Revert "Test all @ethereumjs/util methods and BigInt"
leotm Apr 6, 2023
dc34b4f
Revert "Add commented Babel config from debugging SVGs"
leotm Apr 6, 2023
f943b6d
Convert reanimated v1 code -> v2 for ReusableModal and Drawer
Cal-L Apr 7, 2023
af6e783
Replace Notification animation with reanimated v2
Cal-L Apr 7, 2023
6274a9c
Use SheetBottom for DetectedTokens screen
Cal-L Apr 7, 2023
314b33f
Remove layout animations on accordion for now
Cal-L Apr 7, 2023
2a063aa
Merge branch 'upgrade/react-native/0.71.6' of https://github.com/Meta…
Cal-L Apr 7, 2023
0be7ed6
Update AppState listener removal
Cal-L Apr 10, 2023
2b8097d
Expose boolean in dismiss callback for ReusableModal and SheetBottom
Cal-L Apr 10, 2023
169ac93
Remove AppState listeners and fix lint
Cal-L Apr 10, 2023
3bd2497
patch react-native TextInput
joaoloureirop Apr 12, 2023
2809099
Move Flipper files on Android
Cal-L Apr 12, 2023
fcbadb0
Update build gradle files with manifest placeholders and remove need …
Cal-L Apr 12, 2023
e030929
Clean up MainActivity and MainApplication java files
Cal-L Apr 12, 2023
725f373
Configure gesture handler for Android in react-native.config.js
Cal-L Apr 12, 2023
2d00bfa
Patch compile method for packages
Cal-L Apr 13, 2023
9c3b452
Bump blur and video packages
Cal-L Apr 13, 2023
40c8d23
Find node with xcode.env
Cal-L Apr 13, 2023
42e83be
Update pod files with bumped libraries
Cal-L Apr 13, 2023
ce470df
patch(react-native): make sdk versioning absolute
joaoloureirop Apr 14, 2023
73caa13
update pods
joaoloureirop Apr 14, 2023
4bfcdb6
react-native-aes-crypto-fork: apply manual patch
joaoloureirop Apr 14, 2023
b18de8a
dont kill adb server when running on android
joaoloureirop Apr 19, 2023
023b5d6
skip build react-native from source
joaoloureirop Apr 19, 2023
8eb83be
Bump react-native-reanimated from 3.0.2 to 3.1.0
leotm Apr 21, 2023
a16fb02
Bump pod RNReanimated from 3.0.2 to 3.1.0
leotm Apr 21, 2023
4eb71cd
Add Hermes ProGuard rules for Android
leotm Apr 21, 2023
5a34bd4
Doc pos eth-json-rpc-errors issue RE Hermes
leotm Apr 21, 2023
e3fabe1
Add temp debug breakpoints and crash notes
leotm Apr 21, 2023
7251926
removed lint and audit blockers to test bitrise builds
sethkfman Apr 21, 2023
0c4e4dc
added lint disabled on files
sethkfman Apr 21, 2023
2c621fa
removed non-existing imports
sethkfman Apr 21, 2023
794e7c0
Manually set Error stack property
Cal-L Apr 27, 2023
a304805
Pull from main
Cal-L Apr 28, 2023
67bcf7e
Revert manually adding lru-cache
leotm Apr 28, 2023
5dc1949
snapshot
joaoloureirop Apr 28, 2023
8a5dce5
patch hermes-build
joaoloureirop Apr 28, 2023
1aab2d5
remove commented code
joaoloureirop Apr 28, 2023
0d18e42
Android: build only one ABI during development
joaoloureirop May 2, 2023
f4a044b
Use JS exports in wdio config files
Cal-L May 3, 2023
3f6c333
add react-native-aes-crypto-forked patch
joaoloureirop May 5, 2023
6eb1aa2
feat(CI): Bitrise M1 Machine and React Native 0.71.6 compatibility up…
sethkfman May 5, 2023
b75ddd5
Update Podfile.lock
leotm May 9, 2023
8da4415
Revert eth-rpc-errors+4.0.3.patch
leotm May 9, 2023
124b1e5
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop May 10, 2023
068b4e8
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
sethkfman May 10, 2023
e8f8381
native module for goBack on Android
tommasini May 11, 2023
37212a8
implement Minimizer Android native module
joaoloureirop May 11, 2023
233ae50
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop May 12, 2023
7241058
updating gradle as well as a few other files
cortisiko May 13, 2023
fc5d76d
Moving create wallet test steps into one method
cortisiko May 13, 2023
ae23f02
fix linting and missing imports
cortisiko May 13, 2023
3106830
fixing most smoke tests to run on android.
cortisiko May 16, 2023
f112272
add puppeteer to lavamoat allow-scrpits
joaoloureirop May 16, 2023
51f4e64
update yarn.lock
joaoloureirop May 16, 2023
f268490
allow jest to run
joaoloureirop May 16, 2023
0d1b752
update pods
joaoloureirop May 16, 2023
89a76eb
ignore default exports rule
joaoloureirop May 16, 2023
80dd5e2
remove unused nativemodules import
joaoloureirop May 16, 2023
7592339
mock rnfetchblobk mkdir function
joaoloureirop May 16, 2023
351d4cf
remove caret from rn clipboard
joaoloureirop May 16, 2023
e4447d7
react-native-keychain version 8.0.0
joaoloureirop May 16, 2023
ac8f7bb
fix: hexToBN should not be used with BN argument
joaoloureirop May 18, 2023
551baff
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop May 19, 2023
83900f4
Merge branch 'main' of https://github.com/MetaMask/metamask-mobile in…
Cal-L May 19, 2023
10bb768
fix: Upgrade testing library versions and resolve jest unit tests (#6…
Cal-L May 19, 2023
ccd5e68
remove .node-version in favor of .nvmrc
joaoloureirop May 24, 2023
82f32f0
[hexToBN] allow non string input values
joaoloureirop May 24, 2023
9d4c477
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop May 24, 2023
0bf8719
fix lint
joaoloureirop May 24, 2023
b4927db
remove proptype error log from device screen.
joaoloureirop May 24, 2023
bdcc3c9
fix lint
joaoloureirop May 30, 2023
859c76f
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop May 31, 2023
fd9349a
restore adb server reload when building
joaoloureirop May 31, 2023
76f95e4
remove unused flow config file
joaoloureirop May 31, 2023
b61e216
fix yarn.lock
joaoloureirop May 31, 2023
f4ee86d
fix unit tests
joaoloureirop Jun 1, 2023
ad3b78b
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop Jun 1, 2023
af43eb9
enable project ext var enableHermes
joaoloureirop Jun 1, 2023
b0e8c5c
bring bitrise yaml closer to main
joaoloureirop Jun 1, 2023
356b3c6
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 1, 2023
031447b
split the wallet.spec tests into 3 because of flakiness. Also fixed t…
cortisiko Jun 1, 2023
a96acfb
fix linting
cortisiko Jun 1, 2023
741f10a
Merge branch 'upgrade/react-native/0.71.6-hermes'
cortisiko Jun 1, 2023
748c4a2
fix permissionsystem test.
cortisiko Jun 1, 2023
02e388d
update bitrise yml android e2e test commands and device name
sethkfman Jun 1, 2023
2fee689
updated bitrise stage for use android_e2e_test
sethkfman Jun 1, 2023
0751dd8
updated build machine for E2E
sethkfman Jun 1, 2023
f8659ab
update android tools version
sethkfman Jun 1, 2023
7af7a35
comment out version tool update
sethkfman Jun 1, 2023
1f26482
fix AccountFromToInfoCard unit test by waiting for element query
joaoloureirop Jun 1, 2023
3ef0ee8
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop Jun 1, 2023
9299141
update install missing tools and ndk version
sethkfman Jun 1, 2023
99d469e
testing library: make use of screen export
joaoloureirop Jun 1, 2023
fcf4d69
AccountFromToInfoCard: tests: remove unused import
joaoloureirop Jun 1, 2023
2273e5b
update install missing step to latest
sethkfman Jun 1, 2023
1c7e46d
recover ndk_version key
joaoloureirop Jun 1, 2023
5d2b4ce
replace deprecated listener removal
Cal-L Jun 1, 2023
a69fe58
bitrise: download cmake manually with sdkmanager
joaoloureirop Jun 2, 2023
22232e9
bitrise: download cmake manually with sdkmanager
joaoloureirop Jun 2, 2023
dc33f21
bitrise: fix android sourcemaps path
joaoloureirop Jun 2, 2023
b89efd1
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 2, 2023
a7bc0a1
fix sendERC20 test, permissionsystem and request token
cortisiko Jun 3, 2023
1a3eccb
fix lint
cortisiko Jun 3, 2023
fafd710
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
sethkfman Jun 5, 2023
98a6df4
fix add custom network flow.
cortisiko Jun 5, 2023
bf04203
Remove old project.ext.react
Cal-L Jun 5, 2023
63e47ef
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
Cal-L Jun 5, 2023
41f99f1
Fix snapshots
Cal-L Jun 5, 2023
dc65648
fix sendEth test
cortisiko Jun 5, 2023
40c7222
bump version
Cal-L Jun 5, 2023
69555ea
fix multisig test
cortisiko Jun 5, 2023
0a62e98
Bump version and update ios build script to fix building main bundle …
Cal-L Jun 6, 2023
41e6b05
Remove @ethereumjs/util (from prev testing)
leotm Jun 6, 2023
ff02152
Bump version
Cal-L Jun 6, 2023
e72ed09
Merge branch 'upgrade/react-native/0.71.6-hermes' of https://github.c…
Cal-L Jun 6, 2023
a5a943e
Ignore GHSA-6w63-h3fj-q4vw advisory
Cal-L Jun 6, 2023
a934b89
add get workflow info
sethkfman Jun 6, 2023
7ad7d13
update release announce before task
sethkfman Jun 6, 2023
f3883c6
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
Cal-L Jun 7, 2023
dac19bf
Merge conflicts from main
Cal-L Jun 7, 2023
3a9303a
Update pod checksums
Cal-L Jun 7, 2023
75fedfb
bump version to 1125
Cal-L Jun 7, 2023
3c18115
Fix lint issues
Cal-L Jun 7, 2023
cc031e3
Bump cocoapods from 1.12.0 to 1.12.1 in ReadMe
leotm Jun 8, 2023
49dc21a
Revert app/components/Views/Wallet/index.tsx textStyle changes
leotm Jun 8, 2023
9178e37
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
sethkfman Jun 9, 2023
9867f1f
update build scripts
sethkfman Jun 9, 2023
e0ba9a3
remove test assemble
sethkfman Jun 9, 2023
c5803eb
update name for bitrise emulator
sethkfman Jun 9, 2023
462f6be
rename emulator
sethkfman Jun 9, 2023
858ad5b
update keystore files provided in e2e builds
sethkfman Jun 9, 2023
1bf2390
update Android Test gradle step
sethkfman Jun 9, 2023
a75b22b
update emulator type and removed internal keystore
sethkfman Jun 9, 2023
d6c8d3a
updated build steps with correct AndroidTest env
sethkfman Jun 9, 2023
435dfb0
run e2e on mac
sethkfman Jun 9, 2023
0390a51
reenabled linux machine on e2e tests
sethkfman Jun 9, 2023
0bb2328
enable linux on e2e test for android detox
cortisiko Jun 11, 2023
b8906e4
fix tests to get pass onboarding step on bitrise
cortisiko Jun 11, 2023
34766de
turning off headless mode
cortisiko Jun 11, 2023
df3b5a7
update parameter for headless mode
cortisiko Jun 11, 2023
fc1e15c
revert headless && increase SD card size
cortisiko Jun 11, 2023
2922b42
add screenshots for testfailures arg in yaml file
cortisiko Jun 11, 2023
966719b
fix typo in command
cortisiko Jun 11, 2023
1c0fb6a
fix metametrics opt in test.
cortisiko Jun 12, 2023
776ee09
fix permission system delete wallet test
cortisiko Jun 13, 2023
12ba74d
readding AndroidTest to build script
cortisiko Jun 13, 2023
a494734
fix flakiness in add customnet test
cortisiko Jun 13, 2023
f3e4e65
fix lint
cortisiko Jun 13, 2023
66a34e6
increase timeout
cortisiko Jun 13, 2023
5c162a7
Fix Xcode 14.3.1 MixPanel Linker error
leotm Jun 14, 2023
9d3d00d
Fix Xcode 14.3.1 Branch Linker error
leotm Jun 14, 2023
ad4b3bc
Fix Podfile to implement `flipper_config`
leotm Jun 14, 2023
d4fa8fc
Remove stale Podfile comment RE use_frameworks!
leotm Jun 14, 2023
0a73351
Fix Podfile undefined local var flipper_config
leotm Jun 14, 2023
f621165
Update Podfile.lock
leotm Jun 14, 2023
c8313a4
Update Xcode proj (doc) format from 12.0-compat to 14.0-compat
leotm Jun 14, 2023
1753e50
update android_e2e_test to build for QA
sethkfman Jun 14, 2023
c78f12f
updated device type
sethkfman Jun 14, 2023
8dfc482
attempting to output screenshot artifacts to bitrise. also tapping by…
cortisiko Jun 15, 2023
39a433c
Revert "attempting to output screenshot artifacts to bitrise. also ta…
cortisiko Jun 15, 2023
fd84cc5
native module go back on ios
tommasini Jun 14, 2023
c13b69f
fix app minimize
joaoloureirop Jun 15, 2023
bdbb0df
move RCTMinmizer inside NativeModules folder
joaoloureirop Jun 15, 2023
67ddb31
Revert "Fix Xcode 14.3.1 MixPanel Linker error"
leotm Jun 19, 2023
d43ee8c
Revert "Fix Xcode 14.3.1 Branch Linker error"
leotm Jun 19, 2023
3bc4761
fix android crash on SRP Reveal
joaoloureirop Jun 20, 2023
609fc93
fix wc V2: remove big-integer polyfill
joaoloureirop Jun 21, 2023
3f1056e
NativeModules: ignore eslint default exports
joaoloureirop Jun 21, 2023
49a5f64
merge main and solved conflicts
tommasini Jun 22, 2023
3248772
return state on latest migration
tommasini Jun 22, 2023
69fb40d
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
sethkfman Jun 22, 2023
bdcce09
address yarn audit for fast-xml-parser
sethkfman Jun 22, 2023
48da027
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
sethkfman Jun 22, 2023
838b086
removing the '#' as it was causing babel issues.
cortisiko Jun 22, 2023
dd5fd12
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 23, 2023
11344c5
remove duplicate imports on multisig test
cortisiko Jun 24, 2023
e24331c
fix delete wallet test and sign message test.
cortisiko Jun 24, 2023
5b57da6
enable syncronization by default
cortisiko Jun 24, 2023
858ca8b
update yarn lock
cortisiko Jun 24, 2023
54d7716
fix linting issue
cortisiko Jun 24, 2023
779732e
Revert "enable syncronization by default"
cortisiko Jun 24, 2023
a282d28
enable unencrypted http on QA builds.
cortisiko Jun 24, 2023
f2eb2ad
Revert "enable unencrypted http on QA builds."
cortisiko Jun 24, 2023
7425437
Force bundle for iOS e2e debug
Cal-L Jun 27, 2023
d2f3961
Bump ruby
Cal-L Jun 27, 2023
6fc44da
add bitrise debug config for android
cortisiko Jun 27, 2023
dbb3840
Ignore all logbox errors
Cal-L Jun 27, 2023
ec84c1b
Merge branch 'upgrade/react-native/0.71.6-hermes'
cortisiko Jun 27, 2023
c647144
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 28, 2023
014f725
fix tests on android, add yarn script for triggering android tests
cortisiko Jun 28, 2023
bea7793
fix bitrise yaml file.
cortisiko Jun 28, 2023
14ded6c
fix yarn script in package json
cortisiko Jun 28, 2023
d8fc371
bitrise formatting issue
cortisiko Jun 28, 2023
c0f7840
fix formatting issue
cortisiko Jun 28, 2023
9af3a22
spacing issue
cortisiko Jun 28, 2023
d14150e
format
cortisiko Jun 28, 2023
7ae9e86
formatting again
cortisiko Jun 28, 2023
d3f489b
fix spacing
cortisiko Jun 28, 2023
375d2bd
bitrise
cortisiko Jun 28, 2023
3bbaeab
remove steps for release builds
cortisiko Jun 28, 2023
676cfa3
spacing
cortisiko Jun 28, 2023
14df6c5
always accept notifications to prevent flakiness
cortisiko Jun 28, 2023
a15b1c7
remove sign eth and sign messages as they increase testing time.
cortisiko Jun 28, 2023
46ba8d4
fix flakiness
cortisiko Jun 28, 2023
00cf3d3
remove smoke tag and flakiness step in 2 tests
cortisiko Jun 28, 2023
6f1b3a4
fix linting
cortisiko Jun 28, 2023
b390e79
fix lint
cortisiko Jun 28, 2023
49bc392
make browser test more stable.
cortisiko Jun 28, 2023
dce0db7
small change
cortisiko Jun 29, 2023
8ec86b7
update readme
cortisiko Jun 29, 2023
59002f1
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 29, 2023
faaaac8
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop Jun 29, 2023
59d4d44
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
joaoloureirop Jun 29, 2023
c08be00
update snapshots
joaoloureirop Jun 29, 2023
774c2da
fix jest unit tests
joaoloureirop Jun 29, 2023
ab49adc
remove duplicate testing-library reference
joaoloureirop Jun 29, 2023
87b94b1
Merge branch 'main' into upgrade/react-native/0.71.6-hermes
jpcloureiro Jun 29, 2023
c6bb188
Merge branch 'upgrade/react-native/0.71.6-hermes' into add-android-de…
cortisiko Jun 29, 2023
d3a4d11
switch smoke tag on flaky test
cortisiko Jun 29, 2023
8609b8f
Merge branch 'upgrade/react-native/0.71.6-hermes'
cortisiko Jun 29, 2023
2214b33
fix tests that broke after updating with main.
cortisiko Jun 30, 2023
bfc65c7
increase test runner timeout
cortisiko Jun 30, 2023
4286724
address dev review feedback.
cortisiko Jun 30, 2023
7935d99
merged main into detox branch
sethkfman Jul 5, 2023
e2f02b7
updated with main
sethkfman Jul 5, 2023
0410eea
Merge branch 'main' into add-android-detox-coverage
sethkfman Jul 6, 2023
cef5196
fix appium launch times test
cortisiko Jul 8, 2023
6672230
attempt to ignore yarn audit issue
cortisiko Jul 8, 2023
f4e4398
Merge branch 'main' into add-android-detox-coverage
cortisiko Jul 8, 2023
e8d20cc
bump to detox v20.11 + fix assertions
cortisiko Jul 9, 2023
3d805bd
running tests concurrently to speed up run times
cortisiko Jul 10, 2023
b9eb026
Revert "running tests concurrently to speed up run times"
cortisiko Jul 10, 2023
7f5d587
remove synchronization in deletewallet test
cortisiko Jul 10, 2023
39b05eb
wait until the token input box is displayed
cortisiko Jul 11, 2023
5207473
wait for browser elements
cortisiko Jul 11, 2023
7d906f7
Merge branch 'main' into add-android-detox-coverage
Cal-L Jul 11, 2023
0c9e2af
Merge branch 'main' into add-android-detox-coverage
Cal-L Jul 11, 2023
3a3b116
Revert "attempt to ignore yarn audit issue"
cortisiko Jul 11, 2023
2faf376
wait for getStarted button to be displayed
cortisiko Jul 12, 2023
50caa84
Merge branch 'main' into add-android-detox-coverage
cortisiko Jul 12, 2023
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
2 changes: 2 additions & 0 deletions .bundle/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
BUNDLE_PATH: "vendor/bundle"
BUNDLE_FORCE_RUBY_PLATFORM: 1
23 changes: 20 additions & 3 deletions .detoxrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,22 @@ module.exports = {
device: 'ios.simulator',
app: 'ios.release',
},
// because e2e run on debug mode in bitrise
'android.emu.bitrise.debug': {
device: 'android.bitrise.emulator',
app: 'android.bitrise.debug',
},

'android.emu.debug': {
device: 'android.emulator',
app: 'android.debug',
},
'android.emu.release': {
device: 'android.emulator',
device: 'android.bitrise.emulator',
app: 'android.release',
},
'android.emu.release.qa': {
device: 'android.emulator',
device: 'android.bitrise.emulator',
app: 'android.qa',
},
},
Expand All @@ -39,10 +45,16 @@ module.exports = {
type: 'iPhone 12 Pro',
},
},
'android.bitrise.emulator': {
type: 'android.emulator',
device: {
avdName: 'emulator',
},
},
'android.emulator': {
type: 'android.emulator',
device: {
avdName: 'Pixel_3_API_29',
avdName: 'Pixel_5_API_30',
},
},
},
Expand All @@ -58,6 +70,11 @@ module.exports = {
'ios/build/Build/Products/Release-iphonesimulator/MetaMask.app',
build: "METAMASK_ENVIRONMENT='production' yarn build:ios:release:e2e",
},
'android.bitrise.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/prod/debug/app-prod-debug.apk',
build: 'yarn start:android:e2e',
},
'android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/prod/debug/app-prod-debug.apk',
Expand Down
65 changes: 0 additions & 65 deletions .flowconfig

This file was deleted.

2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.2
3.0.3
61 changes: 44 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The code is built using React-Native and running code locally requires a Mac or
- Install [cocoapods](https://guides.cocoapods.org/using/getting-started.html) by running:

```bash
sudo gem install cocoapods -v 1.12.0
sudo gem install cocoapods -v 1.12.1
```


Expand All @@ -50,7 +50,7 @@ sudo gem install cocoapods -v 1.12.0
- Select `SDK Tools` tab
- Check `Show Package Details` option below the tools list to show available versions
- Locate `NDK (Side-by-side)` option in the tools list
- Check NDK version `21.4.7075529`
- Check NDK version `21.4.7075529`
- Locate `CMake` option in the tools list
- Check CMake version `3.10.2`
- Click "Apply" or "OK" to download
Expand Down Expand Up @@ -206,74 +206,101 @@ yarn test:unit

##### Platforms

E2E test are currently using a combination of Detox for iOS (e2e folder) and Appium for Android (wdio folder).
Work is in progress to have both platforms using Detox.
For both iOS and Android platforms, our chosen E2E test framework is Detox. We also utilize Appium for Android (wdio folder).

##### Test wallet

E2E tests use a wallet able to access testnet and mainnet.
On Bitrise CI, the wallet is created using the secret recovery phrase from secret env var.
For local testing, the wallet is created using the secret recovery phrase from the `.e2e.env` file.

##### iOS
All tests live within the e2e/specs folder.
##### Detox
All tests live within the e2e/specs folder.

### iOS
Prerequisites for running tests:
- Make sure to install `detox-cli` by referring to the instructions mentioned [here](https://wix.github.io/Detox/docs/introduction/getting-started/#detox-prerequisites).
- Additionally, install `applesimutils` by following the guidelines provided [here](https://github.com/wix/AppleSimulatorUtils).
- Make sure to install `detox-cli` by referring to the instructions mentioned [here](https://wix.github.io/Detox/docs/introduction/getting-started/#detox-prerequisites).
- Additionally, install `applesimutils` by following the guidelines provided [here](https://github.com/wix/AppleSimulatorUtils).
- Before running any tests, it's recommended to refer to the `iOS section` above and check the latest simulator device specified under `Install the correct simulator`.
- The default device for iOS is the iPhone 12 Pro and Android the Pixel 5. Ensure you have these set up.
- Make sure that Metro is running. Use this command to launch the metro server:

```bash
yarn watch
```

You can trigger the tests against a `release` or `debug` build. It recommended that you trigger the tests against a debug build.
You can trigger the tests against a `release` or `debug` build. It recommended that you trigger the tests against a debug build.

To trigger the tests on a debug build run this command:

For iOS
```bash
yarn test:e2e:ios:debug
```
and on Android:
```bash
yarn test:e2e:android:debug
```

If you choose to run tests against a release build, you can do so by running this command:

For iOS

```bash
yarn test:e2e:ios
```
and on Android:
```bash
yarn test:e2e:android
```

If you have already built the application for Detox and want to run a specific test from the test folder, you can use this command:

For iOS

```bash
yarn test:e2e:ios:debug:single e2e/specs/TEST_NAME.spec.js
```
To run tests associated with a certain tag, you can do so using the `--testNamePattern` flag. For example:

and on Android:

```bash
yarn test:e2e:android:debug:single e2e/specs/TEST_NAME.spec.js
```

To run tests associated with a certain tag, you can do so using the `--testNamePattern` flag. For example:

```bash
yarn test:e2e:ios:debug --testNamePattern="Smoke"
```
This runs all tests that are tagged "Smoke"
##### Android
All android tests live within the wdio/feature folder.
```bash
yarn test:e2e:android:debug --testNamePattern="Smoke"
```

This runs all tests that are tagged "Smoke"

##### Appium

The appium tests lives within the wdio/feature folder.

By default the tests use an avd named `Android 11 - Pixel 4a API 31`, with API `Level 30` (Android 11). You can modify the emulator and platform version by navigating to `wdio/config/android.config.debug.js` and adjusting the values of `deviceName` to match your emulator's name, and `platformVersion` to match your operating system's version. Make sure to verify that the config file accurately represents your emulator settings before executing any tests.

The sequence in which you should run tests:

create a test build using this command:
```bash
yarn start:android:qa
```bash
yarn start:android:qa
```

Then run tests using this command:
Then run tests using this command:

```bash
yarn test:wdio:android
```

If you want to run a specific test, you can include the `--spec` flag in the aforementioned command. For example:
```bash
yarn test:wdio:android --spec ./wdio/features/Onboarding/CreateNewWallet.feature
yarn test:wdio:android --spec ./wdio/features/Onboarding/CreateNewWallet.feature
```

### Changing dependencies
Expand Down
Loading