Skip to content

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.

  • A posted message is confirmed by the server.
  • /topic shows up as a channel update.
  • An unknown command shows an error line.
  • Email and password login opens the account profile.
  • 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 renews to a working link.
  • 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.
  • Profile details, scheduling defaults, and booking contacts save and survive a reload.
  • Sloppy input is cleaned and saved: links without https:// and 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.
  • A taken artist 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.
  • 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! becomes my-event.
  • A slug or a start time that is already taken is refused.
  • Dates can be proposed to fans.
  • 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.
  • Public event times use the viewer’s timezone.
  • Changing the artist’s timezone through the profile and then editing an event’s title keeps its original start time.
  • Going live from the Stream Dashboard.
  • The sound on the live page.