Rocket.Chat.ReactNative/e2e
Reinaldo Neto fd210c4713
feat: Change Avatar View (#4746)
* [NEW] Change Avatar View

* change avatar view and avatar suggestion

* avatar Url

* change avatar for profile it's done, missing fix revalidate the avatar in profile and drawer

* pick image

* clean profile view

* Finished the profile and fixed the avatar when change the user profile

* fix the profile update through all the app

* refactor avatar suggestion

* fix the delete from rooms and finished RoomInfoView, missing RoomInfoEditView

* room info edit view

* ipad navigation

* refactor the submit function

* refactor the e2e test

* minor tweak with themes and buttons

* minor tweak in edit button

* minor tweaks

* tweak IAvatarContainer

* fixing pt-br

* removed the avatarETagUser and search by username and text

* created the useHooke useAvatarETag

* fix lint

* refactor image.ts and test

* refactor avatar component

* fix the edit button

* refactor useAvatarETag

* fix the pt-br translation

* minor tweak tests

* back handleError to views and refactor the submit

* avatar suggestion item

* types for change avatar view context

* fix avatar on header for tablets

* minor tweak changeavatarview

* refactor avatar url to use hook form

* tweak on yup validation

* minor tweak with handle error

* minor tweak

* minor tweak

* interface avatar container

* minor tweak

* Refactor all the changeAvatarView and fix how to test the image url

* fixed the layout

* minor refactor

* minor tweaks

* fix the visual bug when the user change the avatar to new then clear cache

* fix the flicker when upload an image

* update package.json

* test the reset, discard alert, cancel and discard

* separate the avatar test from profile and create new tests for change avatar

* mock imagepicker

* minor tweak, adding console and add echo to config.yml

* use RUNNING_E2E_TESTS as env to other files

* exprt env at android build

* change the to way to set the running e2e test env

* update test

* delete the .env and update the e2e/readme and the file review

* minor tweak

* minor tweak

* update the test, fixing how to dismiss the keyboard

---------

Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-04-10 11:59:00 -03:00
..
helpers feat: Change Avatar View (#4746) 2023-04-10 11:59:00 -03:00
tests feat: Change Avatar View (#4746) 2023-04-10 11:59:00 -03:00
README.md feat: Change Avatar View (#4746) 2023-04-10 11:59:00 -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

  • 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