You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following sections list a number of manual tests undertaken to ensure the site operates according to details listed under Scope and Structure in the README file. Specific dev goals/user stories can viewed (where appropriate) by hovering over the numbers listed under 'Ref(s)' in the tables below; clicking these links will open the relevant section in the README file.
Navigation
These tests ensure that a user can successfully navigate the site using the provided navbar links, text links, images, and username tags. Many areas of the site require a username and password for full access; as such, the username testname and password test#123 have specifically been created for testing purposes; specifics around this access are tested below under Authentication. Note that the tests below require 'signed out' status unless otherwise specified.
Click on an image showing '0' comments (not the star or username)
Click 'sign in' link below Comments heading
Sign In page displays with navbar and relevant form
Pass
Responsiveness
These tests check that the site responds correctly at various sizes of screen, resizing, hiding, and reformatting elements where necessary. Many areas of the site require a username and password for full access; as such, the username testname and password test#123 have specifically been created for testing purposes; specifics around this access are tested below under Authentication. Note that the tests below require 'signed out' status unless otherwise specified.
Test
Steps
Expected
Result
Navbar toggler, while signed out, appears on main pages at screen width of 767px or smaller
Navigate to 'Home' page
Reduce screen width to 767px or smaller
Navbar links no longer display in header
Toggler appears at right of navbar
'Home', 'Sign Up' and 'Sign In' display when toggler is clicked
Pass
Navbar toggler, while signed in, appears at screen width of 767px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Home' page
Reduce screen width to 767px or smaller
Navbar links no longer display in header
Toggler appears at right of navbar
'Home', 'Upload', 'Profile', 'Gear' and 'Account' display when toggler is clicked
Pass
Navbar, while signed in, adjusts avatar and username display at screen width of 767px and 315px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Home' page
Reduce screen width to 767px the 315px or smaller
Username dropdown is removed from navbar
Username appears beside 'Sign Out' link in toggled menu
Avatar is removed from navbar at 315px or smaller
Pass
Home page, while signed-out, adjusts layout at screen width of 1200 px and 767px or smaller
Navigate to 'Home' page
Reduce screen width to 1200px, then 767px or smaller
Photo gallery adjusts from 3, to 2, to 1 column layout
Text and images resize to stay on screen
Pass
Sign Up page adjusts layout across various sizes
Navigate to 'Sign Up' page
Reduce screen width to 1200px, then 767px or smaller
Form fields adjust width to remain on screen
Pass
Sign In page adjusts layout across various sizes
Navigate to 'Sign In' page
Reduce screen width to 1200px, then 767px or smaller
Form fields adjust width to remain on screen
Pass
Home page, while signed-in, adjusts layout at screen width of 1200 px and 767px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Home' page
Reduce screen width to 1200px, then 767px or smaller
Photo gallery adjusts from 3, to 2, to 1 column layout
Text, images, and filters resize/adjust layout to stay on screen
Pass
Upload/Edit page adjusts layout at screen width of 767px and 575px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Upload' page
Reduce screen width to 767px, then 575px or smaller
Form adjusts from 2 to 1 column layout
Image placeholder and image preview resize to stay on screen
Date and Time fields adjust width to allow reading of values
Pass
Photo detail page adjusts layout at screen width of 575px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Home' page
Click on an image with more than '0' comments (not the star or username)
Reduce screen width to 575px or smaller
Details below photo adjust from 2 to 1 column layout
Comments below photo adjust layout to keep content on screen</li
Pass
Profile page adjusts layout at various screen width of 1200 px and 767px or smaller
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Profile' page
Reduce screen width to 1200px, then 767px or smaller
Photo gallery adjusts from 3, to 2, to 1 column layout
Profile info adjusts from 2, to 1 column layout
Text and images resize to stay on screen
Pass
Gear page adjusts layout at various screen widths
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Gear' page
Reduce screen width to 1200px, 991px, then 767px or smaller
Form fields adjust width to remain on screen
Pass
Account page adjusts layout at various screen widths
If required, sign in using preregistered details e.g. username: testname, password: test#123
Navigate to 'Account' page
Reduce screen width to 1200px, 991px, then 767px or smaller
Form fields adjust width to remain on screen
Pass
Authentication
These tests check the sign up, sign in, and sign out functionality of the site. The username testname and password test#123 have specifically been registered to help determine the outcome of these tests.
If required, sign in using preregistered details e.g. username: testname, password: test#123
Click 'Sign Out'
User directed to 'Home' page
Success toast informs user that sign out was successful
Pass
Get, Post, Put & Delete (CRUD) Functionality
These tests determine if a user is able to successfully - or otherwise - create (post), view (get), update (put) and/or delete photos, stars, comments, or gear/account info through the front-end capabilities of the site. In all test cases, one must first sign in to the site before completing any of the other steps listed (the username testname and password test#123 have specifically been registered for this purpose), while the descriptor 'valid details' indicates that the following is expected:
Required fields (*) are not left blank
Invalid values/formats have not been added to a field
These tests ensure that a user can successfully filter photos on the signed-in Home page using either the provided buttons or the search bar facility. As such, one must first sign in to the site before completing any of the other steps listed below (the username testname and password test#123 have specifically been registered for this purpose).
Enter a valid word/phrase/username etc. into the search bar
Photo feed updates to show photos whose title, description, owner etc. contains search term(s)
'No results' message/image shows if no matching results are found
Pass
Validator Testing
W3C
HTML copied from the page source of the deployed frontend has been passed through W3C HTML Validator and shows 8 info comments regarding trailing slashes but no errors.
All CSS files have been passed through Jigsaw, the W3C CSS Validator and have also been found to be without any errors
Quick Lint JS
JSX code and JavaScript files have been checked throughout this workspace with Quick Lint JS and no issues have been found.
Accessibility & Performance
Lighthouse was used to used to produce reports on performance and accessibility for both desktop and mobile versions of the site; results are provided in the table. In all cases the SEO score was 100 which was achieved after adding meta 'keyword' and 'description' tags to the index.html head section.
Desktop
Mobile
Page
Performance
Accessibility
Best Practices
Performance
Accessibility
Best Practices
Home (signed-out)
56
85
95
43
86
95
Sign Up
99
93
95
90
93
95
Sign In
99
94
95
91
94
95
Home (signed-in)
25
85
95
49
91
91
Upload
96
82
95
76
81
91
Photo Detail
59
88
95
48
94
95
Profile
82
83
95
67
89
95
Gear
97
93
95
91
100
95
Account
96
91
95
91
100
95
Averages
79
88
95
71
92
94
The performance on both desktop and mobile produced the lowest scores as longer loading times come from images loading on to the screen. In future development it would be advisable to look at quicker ways of retrieving image data in order to improve these scores.
Bugs
There are no known bugs in the current deployment of the site. A number of bugs were found, added to the Kanban workflow, and corrected during development. A brief summary of the frontend bugs are provided below:
Type
Issue
Detail
Solution
Result
Data
Photo Edit Form not applying updates
When the 'Save' button is clicked the page appears to be unresponsive. Accessing the console displays a number of errors regarding null vales and uncontrolled elements
Remove line const photoInput = useRef(null); from code
Remove all code related to this line
Fixed
Data
Photo Card details in wrong format
On the Photo Detail page, the text under the image is displaying in the incorrect format for the Main Feature, Date, and Time labels
Main Feature: convert value to string and apply toUpperCase() and slice() as follows: String(main_feature)[0].toUpperCase() + String(main_feature).slice(1)
Date: install react-moment to apply dd-mm-yyyy format using package
Time: use react-moment to parse and apply HH;mm format
Fixed
Structure
Nested link error
The PhotoCard component is producing a nested link error in the console because the link for user profile link has been placed inside the link for the Photo Detail page
Move owner link outside of image link and delete Image Overlay
Style component with negative margin to overlay on photo and prevent style errors