Skip to content

Latest commit

 

History

History
258 lines (213 loc) · 15.4 KB

TEST_COVERAGE.md

File metadata and controls

258 lines (213 loc) · 15.4 KB

UI Test Coverage Matrix

This document provides a test coverage matrix of the Uplink features already automated within this testing framework. Items marked as [x] are already automated, and the ones not marked are pending to be automated in the next days. This list was implemented considering the Uplink Testing Checklist from here.

Functionality Checklist

Overall functionalities

  • Validate Alpha indicator is displayed along the application
  • Validate Nav bar menu is displayed on the screen with access to the main functionalities of the application

Registration / Login

PIN Creation

  • Limits PIN to a maximum of 32 characters.
  • Requires PIN to be a minimum of 4 characters.
  • Shows an error if a user tries to enter with less than 4 characters.
  • Shows an error if a user enters an incorrect PIN.
  • Shows an error if a user attempts to proceed with an empty PIN.
  • Shows an error if the user enters a PIN with spaces
  • Display some indication of success when the user enters a valid PIN - Create Account button enabled.
  • Validate warning texts displayed on the screen alerting the user about the importance of the PIN

Username

  • Limits username to a maximum of 32 characters.
  • Requires a username to be at least 4 characters.
  • Shows an error if the user enters a username with less than 4 characters.
  • Shows an error if the user enters a username with more than 32 characters.
  • Shows an error if the user attempts to proceed with an empty username.
  • Shows an error if the user enters a username with non-alphanumeric characters
  • Shows error if User enters a username with spaces
  • Displays some indication of success when the user enters a valid username.
  • Welcome Screen is displayed after entering a valid PIN and username

Profile Picture

  • Profile picture chooser should closely resemble the shape and appearance of how the profile will be displayed in-app.
  • Profile picture chooser should be responsive to multiple display sizes.
  • Profile picture should indicate to the user that they can interact with it to add a profile picture. CTA Button
  • The register button should use a reusable component and only appear clickable when all required information is submitted and there are no errors on the page.

Chat Page

Landing page for New Accounts

  • "No active chats, wanna make one?" with an option underneath to start one.
  • Page indicator in the sidebar should indicate to the user they are on the Chat page.

Current Chat

  • Any message you send yourself should appear within a colored message bubble.
  • Any message received should appear with a grey bubble.
  • The chat you are in should be highlighted in the sidebar.
  • User Profile Pic should appear next to their message and be up to date.
  • Username should appear above each message or bulk of messages sent or received.
  • Clicking the Heart should add the friend to your Favorites.
  • Current chat should be displayed at the top of the list in the sidebar.
  • Timestamps should be updated in chat and sidebar. (now, then goes by minutes-hours-days)
  • Clicking Phone icon should open call modal.
  • Chat should close if the user blocks the friend they are in the current chat with.
  • Typing indicator appears (if the user has that extension toggled on).
  • Usernames are both displayed in the call modal.
  • Friends Username/Profile Pic/Status should be displayed at the top of the active chat.
  • Tooltip should appear for Call button.
  • Tooltip should appear for Video button.
  • Tooltip should appear for Upload button.
  • Tooltip should appear for Favorites button.
  • User can reply to a message by right+clicking and selecting in the context menu.
  • User can react to a message by right+clicking and selecting in the context menu.
  • User should enter chat at the bottom with the most recent messages.

Calling & Video

  • Call modal opens when the user starts a call.
  • Tooltip should appear for the End Call button.
  • Tooltip should appear for the Enable Camera button.
  • Tooltip should appear for the ScreenShare button.
  • Call/Video sounds should mute when the user clicks Silence.
  • User should be navigated to Settings when they click the Settings button.
  • Call should expand when a user enters Fullscreen.
  • Pop-Out player should appear when the user enables it.
  • While Pop-out is enabled, the original call should display Media Detached.

Friends

All Friends List

  • Clicking Copy Code should copy the user's did key
  • There should be an input field for us to paste a did key or user#short_id.
  • Friends are ordered alphabetically.
  • Profile picture should be next to username if a friend has one.
  • Profile Picture should update if a friend changes it.
  • Online/Offline status should update when friends log in or off.
  • Tooltip should appear when hovering the cursor over Unfriend.
  • Tooltip should appear when hovering the cursor over Block.
  • Tooltip should appear when hovering the cursor over All Friends.
  • Tooltip should appear when hovering the cursor over Pending.
  • Tooltip should appear when hovering the cursor over Blocked.
  • Tooltip should appear when hovering the cursor over Add.
  • Tooltip should appear when hovering the cursor over Chat.
  • Clicking Chat should navigate the user to active chat with that friend.
  • Friend Status should appear underneath the username.
  • Clicking Unfriend should remove that person from your friend's list.
  • Clicking Block should move that person to the blocked user's list.
  • Scrollbar should appear when users scroll through the friend list.
  • User#short_id should appear after the friend's username.
  • Right+Clicking on a friend should bring up the context menu.
  • Friend should be added to Favorites when the user adds them with the context menu.
  • When the user clicks Chat in the context menu, they should be navigated to active chat with that friend.
  • When the user starts a call with the context menu, they should be navigated to an active call with that friend.
  • User should be able to remove a friend using the context menu.
  • User should also be able to block a friend by using the context menu.
  • Green indicator should appear when the user pastes a correct did key in the Add Friend input field.
  • Online status / Device indicator should appear next to the friend's profile pic. (This should appear anywhere a friend profile pic is throughout the entire app)

Adding Friends

  • Search Bar should display Username#0000 when user is not clicked into it.
  • Error should appear when the user has less than 4 chars typed.
  • Search Input should display a green indicator when the user types more than 4 chars.
  • Request should appear under Pending after sending it.
  • If the user cancels the request, the request should no longer appear in Pending.
  • Error should appear if a user sends 2nd friend request to the same person.
  • Error should appear when users try to add themselves.

Pending Requests

  • Pending requests view should display incoming and outgoing requests lists
  • Incoming Friend Request should have an Deny or Accept next it.
  • Profile Picture should appear with username next to it.
  • Incoming requests should be ordered by Most Relevant.
  • Notification counter should display the correct amount of requests on Pending.
  • Notification counter should display the correct amount of requests on Friends Page Button
  • After accepting a friend request, the pending request should clear, and they should be added to the All Friends list.
  • After denying a friend request, the pending request should clear, and they should NOT be added to the All Friends list.
  • After canceling an outgoing friend request, the pending request should clear, and they should NOT be added to the All Friends list.
  • When the user clicks Accept Incoming Request in the context menu, the request should be accepted, and the user should be added to the all-friends list.
  • When the user clicks Deny Incoming Request in the context menu, the request should be denied, and the user should NOT be added to the all friends list.
  • When the user clicks Cancel Outgoing Request in the context menu, the outgoing request should be canceled and removed from the outgoing list.

Blocked Friends

  • Blocked users should display a list of the blocked users
  • After selecting the "Unblock" button from someone on the blocked list, the user should be removed from the blocked list but should NOT be added to the All Friends list.
  • When the user clicks Unblock in the context menu, the user should be removed from the blocked list but not added again to the all friends list.

Files

  • Icon should open the Upload File Modal.
  • Preview should be shown for Uploaded Files.
  • Folder should highlight when the user is dragging and dropping a file into it.
  • Folder should also be highlighted when the user hovers the cursor.
  • Upload % should show when the user is uploading Files
  • Clicking the Home button in the directory should take you to the Files Home page.
  • When the user clicks, the New Folder typing indicator should appear, and the user can start typing without clicking into the textbox first.
  • Right-clicking folder should open the context menu with the option to rename or delete.
  • Scrollbar should appear when any Files are rendered off-screen.
  • Files Directory should show updated Folders name if Folder has been renamed.
  • File Uploading should stop when the user hits Cancel.
  • Size of the file should show underneath the preview.
  • Amount of items/size of uploaded files should show underneath the Folder.
  • Directory should be highlighted when the user hovers the cursor.
  • Upload modal should show the file's path when the user is drag+dropping a file into the Modal.
  • Clicking the X in the right corner of Upload Modal should close said Modal.
  • Progress Bar should show the actual amount of Files uploaded.
  • Free Space should appear at the top of the Files Page.
  • Total Space should appear at the top of the Files Page.

Settings

Profile Page

  • Change Avatar should appear when the user hovers the cursor over Profile Pic.
  • Change Banner should appear when the user hovers the cursor over the Banner area.
  • Clicking the Banner should open users local files browser.
  • Clicking the Profile Picture should open the user's local files browser.
  • Clicking Edit should display input fields for username and status.
  • Error message should appear when the user tries to type a username longer than 32 characters.
  • Error message should appear when a user attempts to save a username with less than 4 characters.
  • Error message should appear when a user attempts to save a username with spaces.
  • Error message should appear when a user attempts to save a username with non-alphanumeric characters.
  • Error message should appear when the user tries to type a status message longer than 128 characters.
  • Assert placeholder texts are displayed right now on input fields
  • Validate text descriptions from settings sections

General

  • User should land in the General tab when entering Settings.
  • Text descriptions from the settings section should be displayed
  • User should be able to toggle Uplink Overlay.
  • User should be able to toggle Splash Screen.
  • Clicking Theme should open the Themes Dropdown.
  • Clicking Reset Theme should set the theme back to default.
  • UI should change when the user sets a new theme.
  • User should be able to change the language by selecting from the Language Dropdown menu.
  • User should be able to switch back the language to English US by selecting from the Language Dropdown menu.

Audio

  • User should be able to toggle Interface Sounds on and off.
  • User should be able to toggle Media Sounds on and off.
  • User should be able to toggle Call Timer on and off.
  • Text descriptions from the settings section should be displayed

Extensions

  • User should be able to toggle the placeholder on and off.
  • Clicking Open Extensions Folder" should open the user's extension folder.
  • Text descriptions from the settings section should be displayed - Right now, only placeholders

Notifications

  • User should be able to grant permissions to receive notifications - nonfunctional yet
  • User should be able to enable notifications for incoming calls and messages
  • If the switch slider of enable notifications for incoming calls and messages is disabled, then the friends, messages, and settings notifications switches are disabled
  • If the switch slider of enable notifications for incoming calls and messages is enabled, then the friends, messages, and settings notifications switches are not blocked
  • User can enable notifications for friend requests
  • User can enable notifications for new messages
  • User can enable notifications for updates and important alerts
  • Text descriptions from the settings section should be displayed - Right now, only placeholders

Developer

  • Text descriptions from the settings section should be displayed - Right now, only placeholders
  • Clicking Developer Mode should open the debugger
  • Clicking Open Codebase should take the user to Github Codebase
  • Clicking Test Notification should display a test notification from the OS triggered by the application
  • Clicking Open Cache should open the .Cache folder within Uplink.
  • Clicking Compress & Download Cache should compress the Users .Cache into a zip file.
  • User can clear .Cache by clicking Clear Cache
  • Logs should save in a file when the user toggles on Save Logs In A File
  • Chat Sidebar should not appear when the user is in Settings
  • Dev tools should appear when toggled on in the top right corner.

Sidebar

Basics

  • Sidebar should persist through Chat, Files, and Friends pages.
  • Any active chats the user has created should appear in the sidebar.
  • Sidebar should be hidden when the user enters Settings.
  • Sidebar should display the user's favorite chats (If the user has any).
  • Users should be navigated to chat when they click a friend in their favorites.
  • Sidebar should display all of the user's chats with the most relevant ones at the top.
  • Notification bubble should appear on the Chat icon if the user has any.
  • Notification bubble should appear on the Friends icon if the user has any.
  • User can clear unread messages by right+clicking to open the context menu.
  • User can call a friend by right+clicking to open the context menu.
  • User can hide chat by right+clicking to open the context menu.
  • Tooltip should appear when hovering cursor over Chat Page icon.
  • Tooltip should appear when hovering cursor over Files Page icon.
  • Tooltip should appear when hovering cursor over Friends Page icon.
  • Tooltip should appear when hovering cursor over Settings Page icon.
  • User can search within Settings by clicking on Settings Search Bar.
  • Call controls should appear in the sidebar when the user enters a call.