-
-
Notifications
You must be signed in to change notification settings - Fork 146
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
E2E test - /settings page - Multiple issues available #1168
Comments
Hello I would be happy to jump on writing any one of these tests for you. I'll let you know if I come across any questions, but it seems pretty straight forward. 👍🏻 |
Awesome. Thanks @petercr |
Hey @John-Paul-Larkin I'm having a little trouble with this, mostly because even when I'm logged in I get the error: I also get the toast message Any ideas on how to solve this problem? |
Hey @petercr In the meantime, would you be ok with writing tests for anything apart from the the Profile Picture Upload? PS. You will also get an error
This is due to missing env variables. You can overcome this by adding
To the isUserSubscribedToNewsletter function on line 43. |
Awesome, because I couldn't figure out what exactly I was doing wrong 😓 I also received the I will move on to testing the Full Name change and update of that, hopefully that will go better 🤞 |
So I did get to change a couple of fields in the form and get it to save. And once you hit that error the whole app crashes out for me. |
Try to run npm Install. I think you are just missing the package. |
I did try a fresh npm install on both WSL2 Ubuntu and Windows. That didn't fix the problem 😢 The issue with the unresolved module has to do with So I ended up fixing the issue and push a PR with the changes. PR #1179 If you do use that PR, any chance you can add a |
I finished # 3 from the list, user name testings! I am going to work on # 4 the Bio field update tests now. |
Context
We need to ensure that our core application features and user flows are fully covered by end-to-end (E2E) tests. We are using Playwright for these tests, and the workflow framework for E2E testing is already in place.
If you navigate to the e2e folder in the root of the project, you'll find that @JohnAllenTech has written numerous tests for the article page. These tests have been grouped into two categories: authenticated and unauthenticated. Please ensure that this pattern is followed when adding new tests.
Expected Behavior
Below is a list of possible tests for the
/settings
page. These are suggested tests generated with the help of ChatGPT, meant to provide a starting point. You should use your discretion to refine these tests and account for relevant edge cases. Ensure that tests for each input field align with the current Zod validation schema.Additionally, feel free to propose other valid tests that might apply specifically to the functionality of the settings page.
Tests should be standalone and focus on a single purpose, ensuring each test verifies only one specific behavior or functionality.
Test should be added to e2e/settings.spec.ts
Please leave a comment specifying the tests you plan to write, so others don't duplicate the same efforts.
All PRs are accepted for Hacktoberfest.
Note: For this page, the unauthenticated test is only necessary to verify that the user is correctly redirected to the
/get-started
page.Note: As multiple people may contribute to this issue, please ensure you pull the latest changes from the upstream and resolve any conflicts. Sync the upstream
Tests
Test: Upload a valid profile picture (JPG, PNG, or GIF).
Scenario: Simulate selecting an image file, uploading it, and verifying that it is displayed correctly in the UI.
Edge Case: Test for an invalid file format (e.g., PDF, BMP) and ensure proper error messaging.
Test: Update the full name field and save the changes.
Scenario: Input a new name, click "Save Changes", and verify that the new name is updated and persisted across sessions.
Edge Case: Test for maximum length or invalid characters, if there are any validation rules.
Test: Update the username field and save the changes.
Scenario: Input a new username, click "Save Changes", and verify that the username is reflected across the platform.
Edge Case: Ensure that no two users can have the same username and that errors are displayed for duplicates.
Test: Update the bio field with valid text.
Scenario: Input a bio within the character limit, save, and verify that it updates correctly.
Edge Case: Try entering more than 200 characters and verify that an error is displayed or that it prevents submission.
Test: Change the location and save the changes.
Scenario: Input a new location (e.g., text or emoji), save, and verify the location is updated.
Test: Enter a valid website URL.
Scenario: Add a valid URL, save, and ensure the link displays properly.
Edge Case: Test for invalid URLs (e.g., no protocol) and verify error handling.
Test: Verify email change process.
Scenario: Enter a new email in the "Update Email" field, click "Send Verification Email", and ensure that a verification email is sent.
Edge Case: Test for invalid email formats and ensure the system rejects them with appropriate error messages.
Test: Toggle notification settings (Allow notifications, Weekly Newsletter).
Scenario: Toggle these switches, save changes, and verify that the settings persist after reload or login.
Edge Case: Ensure settings are correctly toggled and do not change without user input.
Test: Reset the form.
Scenario: Change several fields, click "Reset", and verify that all fields revert to their original state.
Test: Save changes to all fields.
Scenario: Modify multiple fields (profile picture, name, username, etc.), click "Save Changes", and verify that all updates are correctly applied and saved.
Test: Input invalid data (e.g., empty required fields, incorrect email format).
Scenario: Attempt to save with invalid input and verify appropriate validation messages are displayed.
Test: Verify the page's accessibility (e.g., via keyboard navigation and screen readers).
Scenario: Ensure that all fields can be navigated with the keyboard and that screen readers can access field labels correctly.
Screenshots
The text was updated successfully, but these errors were encountered: