Rocket.Chat.ReactNative/e2e/README.md

2.4 KiB

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