Rocket.Chat.ReactNative/e2e
Gleidson Daniel Silva 7a7193d1ab
chore: migrate RoomInfoView to hooks (#5074)
* create RoomInfoViewTitle

* create RoomInfoViewBody

* create RoomInfoViewAvatar

* remove some functions

* merge styles

* fix types

* remove UserInfoButton

* fix room

* fix type import

* working

* fix navigation type

* wip

* remove console

* types

* fix import

* fix types

* fix types

* wip

* add asPlain

* some tweaks

* wip

* some fixes

* wip

* fix block user

* finish migration

* some fixes

* fix rule

* add rid to avatar

* fix settings and room transition

* add disabled rule

* fix test ???
2023-09-26 11:33:53 -03:00
..
helpers chore: migrate RoomInfoView to hooks (#5074) 2023-09-26 11:33:53 -03:00
tests fix: flaky test at auto-translate e2e test (#5219) 2023-09-26 08:54:30 -03:00
README.md feat: Change Avatar View (#4746) 2023-04-10 11:59:00 -03:00
data.ts fix: show user's full name when searching (#5043) 2023-05-10 16:32:39 -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

  • To start the Metro bundler in the mocked mode, you should run yarn e2e:start

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