sphinx-kotlin
sphinx-kotlin copied to clipboard
[Tests] Create UI tests on the Chat view using JUnit or Robolectric
Context
The Chat view is one of the most important views of the Sphinx app. UI Test coverage needs to be added in this view.
Files involved:
ChatContactFragment.kt
ChatTribeFragment.kt
ChatFragment.kt
fragment_chat_contact.xml
fragment_chat_tribe.xml
MessageListAdapter.kt
The goal is to test some basic UI interactions in the Chat view and their expected results.
- Add any needed configuration for the selected test tool (JUnit, Robolectric, UI Automator, etc).
- Implement the following test cases
- [ ] Tapping on image message should open full screen image viewer
- [ ] Tapping on image on payment message row should do nothing (instead of opening full screen image viewer)
- [ ] Tapping on video message should open full screen video player
- [ ] Tapping on + button on bottom bar should open bottom menu animated
- [ ] Swiping left on text message should show replying view above the message field bottom bar
- [ ] Tapping on AUDIO or VIDEO buttons on Call message row should join Jitsi call
- [ ] Long pressing any message row should show message menu
- [ ] When not at very bottom of the chat content, when tapping on ARROW DOWN button on right bottom corner should scroll chat to the bottom
- [ ] Tapping on bell icon on top bar should show notification about mute/unmute chat state and change icon to crossed out bell
- [ ] Tapping on the message field should expand the keyboard and set focus on the field
- [ ] Typing in the field should expand field height to show entire text
- [ ] Message field should be limited to 1000 characters when typing
@tomastiminskas i can do this, can you please assign me?
Hey @The-Fuse , are you on Sphinx Bounties? https://community.sphinx.chat/bounties
Let me know if not and I can help you onboard.
Hey @tomsmith8 i'll take on this. Assign it to me.
To keep everyone updated. There's a critical issue regarding hilt when it come to instrumented testing in the project. @tomastiminskas and I trying to figure out how to solve this issue so it might take some time.
What we found so far is this issue which is similar to ours has been reported at dagger repo before https://github.com/google/dagger/issues/3692
Once we figure it out we will keep you posted.