Summary:
I tested the sign-up functionality and encountered several issues. Here are the detailed findings and suggestions for improvement.
Steps to Test:
Cloned the repository and checked out ui_refinement.
Navigated to the sign-up page.
Attempted to sign up with various email formats and password combinations.
Findings:
Email Validation Issue:
Problem: The email validation does not accept valid email formats.
Steps to Reproduce:
Enter a valid email (e.g., joseph.w.edu@gmail.com).
Attempt to sign up.
Expected Behavior: The email should be accepted.
Actual Behavior: The error message "Invalid email format" is displayed.
Screenshots/Logs:
Username Taken Error with Invalid Email:
Problem: When trying to sign up with an invalid email, it shows the username as taken.
Steps to Reproduce:
Enter an invalid email format.
Attempt to sign up.
Expected Behavior: Should only show an invalid email error.
Actual Behavior: Also displays "Username is taken" error.
Password Confirmation Validation:
Problem: Password confirmation only checks if the password follows basic requirements, not if it matches the original password.
Steps to Reproduce:
Enter different passwords in the "Password" and "Confirm Password" fields.
Expected Behavior: Should display a password mismatch error.
Actual Behavior: No error if both fields meet the basic requirements.
Screenshots/Logs:
Email Uniqueness Check:
Problem: Error due to invalid character in URL request.
Steps to Reproduce:
Enter an email address.
Attempt to check email uniqueness.
Expected Behavior: Should correctly check email uniqueness.
Actual Behavior: Throws an error due to invalid URL encoding.
Logs:
java.lang.IllegalArgumentException: Invalid character found in the request target [/check-email?email=${encodeURIComponent(email)}]. The valid characters are defined in RFC 7230 and RFC 3986.
Recommendations:
Fix email validation to accept correct email formats.
Ensure that the username taken error does not show up unless the username is actually taken.
Update password confirmation logic to properly check if both passwords match.
Regarding checkEmailUniqueness in signupValidation.js.
Replace ' with `.
After replacement, email format still isn't accepted.
Environment:
Operating System: e.g., macOS Big Sur
Browser: e.g., Chrome 91
Node.js Version: e.g., v14.17.0
Tested
Branch: ui_refinementSummary: I tested the sign-up functionality and encountered several issues. Here are the detailed findings and suggestions for improvement.
Steps to Test:
Findings:
Username Taken Error with Invalid Email:
Password Confirmation Validation:
Email Uniqueness Check:
Problem: Error due to invalid character in URL request. Steps to Reproduce:
Logs: java.lang.IllegalArgumentException: Invalid character found in the request target [/check-email?email=${encodeURIComponent(email)}]. The valid characters are defined in RFC 7230 and RFC 3986.
Recommendations: Fix email validation to accept correct email formats. Ensure that the username taken error does not show up unless the username is actually taken. Update password confirmation logic to properly check if both passwords match. Regarding checkEmailUniqueness in signupValidation.js.
Environment: Operating System: e.g., macOS Big Sur Browser: e.g., Chrome 91 Node.js Version: e.g., v14.17.0