hack4impact-utk / compassion-ministries

https://compassion-ministries.vercel.app
2 stars 2 forks source link

Stress testing - Ethan #357

Open andlrutt opened 7 months ago

andlrutt commented 7 months ago

Description

TEST THIS MAMA JAMA!!! Try to break it in every way conceivable. You should spend 1 HOUR DOING THIS! Literally set a timer. If you can't find anything, look harder!

Don't test on localhost, instead navigate to cm.utkh4i.com and do your testing there. Do the testing on your phone, since this is currently our best supported device

Technical Details

Some things to consider (non-exhaustive!): What happens if...

Walk through EVERY workflow, start to finish, with every enumeration for inputs/sequences. Make a new volunteer, make a new event, make a new org, etc. Start a workflow, stop, come back to it later. Including (but not limited to)

TRY TO BREAK IT!

ADDITIONALLY:

EXPECTED OUTPUT:

Dependencies

ethanhmaness commented 6 months ago

Document is not defined error logged in console when visiting event page (seems to be issue with reactquill). Reproduce by visiting the page for an event email and checking the server console. image

Adding role verification doesn't reload the page. Reproduce by adding a role verification.

No popup or red text when attempting to submit new volunteer when phone isn't filled out (regardless of what other fields you do or don't fill out). Reproduce by not filling out phone field and trying to submit the form.

Volunteers can have whitespace names and addresses. Reproduce by creating a volunteer with just spaces as their names.

Role verifications can have whitespace verifiers. Reproduce by entering spaces in the verifier field.

Clear start/end time button in time entry popup on mobile in new event form doesn't work. Reproduce by using your phone to go to the new event form, then set the start time with the clock GUI, then try to clear it with the clear button.

Check in form allows whitespace names and org names. Reproduce by putting spaces in these fields.

Emojis, right-to-left overrides, etc. can go in any text field other than emails and phone numbers. Reproduce by putting all kinds of wacky unicode nonsense in any field anywhere that doesn't have validation.

Organizations get added in check in form before you submit the form. Reproduce by going to the check in form, typing a new organization name, clicking "add ", then leaving the form without submitting it. The organization will still be added to the database and listed in the organizations page, even though you never checked them in under that new org.

Link button on email body text editor doesnt work. Reproduce by going to the event page, pressing "new email" then clicking the link button.

image

If you create an event, check in, and delete the event, the app crashes when trying to view the volunteer. Reproduce by creating an event, checking in a volunteer, then deleting the event manually in mongoDB. Then go to the volunteer page for that volunteer.

The delete button on a deleted volunteer's page still works and says it deleted them when you use it again. Reproduce by deleting a volunteer, then going to their volunteer page by manually entering the URL, then delete them again.

Duplicate volunteer checks on the new volunteer form includes deleted volunteers. Reproduce by deleting a volunteer and then trying to create a new volunteer with the same name and email.

Checking in a deleted volunteer says "volunteer already checked in" even if they have never been checked in at that event. Reproduce by trying to check in a deleted volunteer at an event (it won't autofill their details, but you can type them out manually).