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.
- 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
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.
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.
- 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.
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)
- 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.
- 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.
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.
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.