Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tests] Create UI tests on the Chat view using XCUITest #380

Open
12 tasks
tomastiminskas opened this issue Jan 17, 2024 · 3 comments
Open
12 tasks

[Tests] Create UI tests on the Chat view using XCUITest #380

tomastiminskas opened this issue Jan 17, 2024 · 3 comments
Assignees

Comments

@tomastiminskas
Copy link
Contributor

tomastiminskas commented Jan 17, 2024

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.

Note: Use branch test-flight

Files involved:
NewChatViewController.swift
Chat.storyboard

The goal is to test some basic UI interactions in the Chat view and their expected results.

  1. Add new test target to the project, XCUITest framework and any additional configuration needed to start adding UI tests.
  2. 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
@patgarner
Copy link

Please assign this one to me :)

@patgarner
Copy link

@tomastiminskas Are there dummy accounts with existing chats i should use as part of the test setup for these tests?

I presume you'll want these tests to run as part of the normal operation of the app (not as isolated components, etc.) and that these tests shouldn't require special configuration based on who is running them.

If I should set up some dummy accounts and associated chats with everything necessary to test this functionality, how would I go about setting up the dummy accounts?

@tomastiminskas
Copy link
Contributor Author

@patgarner you are right about that. I guess those test items that would need a dummy account are the ones related to interactions with specific message type rows.

For those you can create a tribe on your account (with no members) and send those needed messages for the tests. Then you can detail in this tickets the needed messages and order for the tests to success. All the rest of the test items related to top and bottom bars of the chat view shouldn't need a dummy account or chat to success.

If you run into issues with the message type tests let's start with all the rest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants