vn-verdnaturachat/e2e
Diego Mello 412f62eb2a
Chore: Update Detox to 20.1.2 (#4866)
2023-03-07 09:28:51 -03:00
..
helpers Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
tests Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
README.md Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
data.ts Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
e2e_account.example.ts Chore: Migrate E2E tests from JS to TS (#4475) 2022-09-12 11:51:33 -03:00
jest.config.js Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
testSequencer.js Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
tsconfig.json Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00

README.md

Overview and folder structure

WIP: End-to-end tests are a work in progress and they're going to change.

|-- e2e
  |-- helpers
	|-- tests
	|-- data.ts
	|-- e2e_account.ts
  • e2e/helpers
    • This folder contains a few functions to setup and help write tests.
  • e2e/tests
    • This folder contains the actual test files
    • It's currently split into assorted, onboarding, room, and team folders
    • There's not a clear convention on where a test should be placed yet, but the folders above exist to try to separate them into features
    • Keep every test file truly idempotent
      • Each file can only impact on the tests written inside of it
      • They should not impact on other files, so pay attention on the data you use
  • data.ts
    • Contains seeds to common test data, like server url, public channels, etc
    • Currently we point to https://mobile.rocket.chat as main server
      • Pointing to a local server is not recommended yet, as you would need to create a few public channels and change some permissions
      • Ideally we should point to a docker or even a mocked server, but that's tbd
    • Try not to add new data there. Use random values instead.
      • It's hard to keep track of where each value is used
  • e2e_account.ts
    • Contains user and password with correct permissions on main server
      • Check e2e_account.example.ts for structure
    • It needs to be added manually on local (it's already set on CI)
      • Ask Diego Mello for credentials

Shared config

  • Change .env to RUNNING_E2E_TESTS=true
    • You can also RUNNING_E2E_TESTS=true yarn start reset-cache, but it's easier to change the file as long as you don't commit it

Setup and run iOS

  • Install applesimutils
brew tap wix/brew
brew install applesimutils

Run on debug mode

  • Build the app with yarn e2e:ios-build-debug
  • Test the app with yarn e2e:ios-test-debug

Run on release mode

  • Build the app with yarn e2e:ios-build
  • Test the app with yarn e2e:ios-test

Setup and run Android

sh ./scripts/create-avd.sh

Run on debug mode

  • Build the app with yarn e2e:android-build-debug
  • Test the app with yarn e2e:android-test-debug

Run on release mode

  • Build the app with yarn e2e:android-build
  • Test the app with yarn e2e:android-test