EPTSS - Staging environment testing plan
Ensuring stability of core features
This post is one of many in my testing and hardening plan for the Everyone Plays the Same Song website.
I previously set up a Cypress test managed by a Github Action to confirm our magic link login workflow keeps working. It turns out it's been silently failing for a while. My Google Console project is still in "test" mode, which means my OAuth key is only valid for a week instead of 6 months.
So to test full functionality, I'm going to add a new login page for username + password login. This will only ever be used, at least for now, by our test users in Staging.
Next steps -
- Add username / pw login page for testing purposes.
- Create test user in Staging.
- Create a bunch of future rounds in Staging, each of which lasting 3 days. Day 1 - signup. Day 2 - voting. day 3. covering / submission.
- Build cypress tests to run daily based on the phase of the round.
- Day 1, user signs up for round.
- Day 2, user votes.
- Day 3, user submits cover.
- Day 4 - see day.
This way, we'll test the major website functionality in full every 3 days.
Concerns -
I know it's possible, and probably not even that difficult, but the round creation + choosing which test to run based on round phase gives me pause. But I trust that once I jump in, I'll figure out the details.