Live Tests
Live tests are automatic tests run by a scripted real browser that uses the production site with a test account doing real life tasks and checking the results. They run after every Slipmat update. If any test fails, the team gets an alert. The more we build these automated tests, the more confident we can be that our changes are not breaking any existing features.
What is currently tested
Section titled “What is currently tested”- A posted message is confirmed by the server.
/topicshows up as a channel update.- An unknown command shows an error line.
Account
Section titled “Account”- An iPhone photo (HEIC) is cropped, saved, and still there after a reload.
- The rejoin form for a v2 account refuses bad input on its own field and keeps the link working: passwords that do not match, a missing artist photo, and a username that is taken in other letter case.
- An expired rejoin link mails a new one that works.
Return of a v2 artist
Section titled “Return of a v2 artist”- A rejoin link restores the account and the artist profile in one step. The v2 events and the public artist page at the v2 slug are back.
- The Artist Dashboard shows the first steps, and each step is marked done after the artist does it: scheduling defaults, a soundcheck, and a published first event.
- A Show created from the first steps starts on the day and hour of the scheduling defaults.
- A used rejoin link shows a link to log in instead of the form.
Artist profile
Section titled “Artist profile”- Every field saves and is still there after a reload.
- Sloppy input is cleaned and saved: links without
https://,@handles, tags with spaces or capitals. - Bad input shows an error on its own field, on screen, and nothing is saved: empty or 500-character name, broken
links,
javascript:links, bad X handle, bad email, too-short or too-long tags. - Another artist’s name is refused.
- The artist photo and the default event photo upload.
- A GIF, a broken image, and a file over 50 MB are refused.
Event scheduling
Section titled “Event scheduling”- The first visit asks for scheduling defaults.
- An event with everything set is published: photo, tags, description, unlisted, requests, tips.
- A draft saves without a date.
- Bad input shows an error on the right field: empty or 500-character title, no tags, bad tags, past date, past hour, an hour the clocks skip, an hour without a date.
- A typed slug is cleaned properly:
My Event!becomesmy-event. - A slug or a start time that is already taken is refused.
- Dates can be proposed to fans.
Timezones
Section titled “Timezones”- Times are entered in the artist’s timezone and shown in the viewer’s: first the browser timezone, then an override saved through the account profile. The override survives a reload.
- The form names the artist’s timezone only when it differs from the viewer’s.
- The public event page says “your time”.
- Changing the artist’s timezone through the profile and then editing an event’s title keeps its original start time.
Not checked yet
Section titled “Not checked yet”- Going live from the Stream Dashboard.
- The sound on the live page.