c9f4ca1197
* feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio |
||
---|---|---|
.. | ||
helpers | ||
tests | ||
README.md | ||
data.ts | ||
e2e_account.example.ts | ||
jest.config.js | ||
testSequencer.js | ||
tsconfig.json |
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
, andteam
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
- Check
- It needs to be added manually on local (it's already set on CI)
- Ask Diego Mello for credentials
- Contains user and password with correct permissions on main server
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
- Create AVD
- It's important to create the same emulator as on CI. Read more: https://wix.github.io/Detox/docs/guide/android-dev-env
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