We are already growing our application driven by tests, however, there are still some inconveniences that hinder us from going fully continuous. If the goal is to put every change we make into production automatically (safeguarded by our tests, of course), then we need to automate the things we still do manually: starting the server and changing the database structure.
Let's tackle the server startup first. It would be great if each test case would start and stop the server process as needed. This is possible by refactoring the server code a bit.
We need to split into two files what is currently handled in src/backend/index.js. The goal here is to have the server logic in one file, and the server startup in another one. This way, our tests can start the server logic up by themselves, and for production, we still have a file we can execute...