Write tests, not too many and mostly integration

This reflects my own view of testing. Namely, that the most important thing with a test is to detect and prevent mistakes.

Most mistakes are not made on the unit-test level (save for solving algorithmic problems). Rather it is when plumbing things together into a whole, that things fail. It is much more common to break a site through a REST API change or through an an integration with a third-party.