Step 14: code coverage for cypress end to end tests with istanbul

This PR is more about setting things up then it is about programming. Oh well, that’s what modern programming consists of for the most part – integrating third-party packages and then hacking around to make them do what’s required. Making cypress e2e tests work with istanbul is not trivial, especially for the backend – but it’s done, and I couldn’t be happier with the result; code coverage report for end to end tests, both frontend and backend, this is just wonderful ๐Ÿ™‚

Now we have 2 suites of end to end tests – one for the frontend and the other one for the backend, – and both generate beautiful coverage reports, check them out:

Frontend coverage: 80% branches
Backend coverage: 66% branches

This is really great, we can now see what parts of our code are not covered by the e2e tests, and strive for 100% coverage. I’m not a fan of unit tests, but end to end tests truly give me a peace of mind – we all want to deliver software without bugs, and good end to end tests is the most effective way to get there.