Swapfig News: Unit Testing (or What Has Taken So Long?)

Unit Testing (or What Has Taken So Long?)

It's been a very long time since our last news post, as you haven't heard from us since May. The good news is, we were finally able to update **Swapfig** just last week.

This time around, we were aiming to have the site updated behind the scenes. This is so we could avoid the dreaded maintenance mode scenario, which would have prevented anyone using the site.

Though there were some teething problems, and this approach won't always be valid, we think we were successful.

What took so long?

2019 has been a year of great change. The current day job has meant we haven't been able to spend as much time on **Swapfig** as before, although there is still work going on to improve the site. We've (I've) also been in the process of moving to a new property, involving *a lot* of stuff!

But the biggest reason for a lack of updates has been the introduction of *unit testing* to the project.

So about this "unit testing"...

Without boring anyone with technical details: *unit testing* allows us to test parts of the site, to make sure nothing is broken, before we perform an update.

Anyone who has been on the site long enough will know: there have been several instances where we've updated **Swapfig** with some new feature, only to find it doesn't quite work in the wild - or that something else has stopped functioning correctly.

By writing unit tests for parts of the site, the general idea is that many of the problems found when the site is updated can be caught and addressed, before the site is updated. The most common problem we've faced is dealing with ex-users (i.e. those who've removed their account).

Here's the thing: these unit tests increase the time time takes to implement a new feature, and even then we might not catch all the problems. However, we think it's the right thing to do, as - if done *properly* - it will save us a lot of embarrassment.

What's been tested?

The latest site update has unit testing for *user inventories* and *issues*: two of the most important parts of the site.

Pending issues.

Finally, we'd like to issue a huge apology to everybody who has opened an issue within the last few months. For some reason we haven't been notified about issues via email, but we are aware of them now. We're aiming to respond to each of them by the end of this week.