Use case automatic tests
Add automatic tests to mimic real usages through the HTTP layer. Later on create some use-cases that reflect real-life cases. When a bug is discovered, these tests should be able to reproduce what is happening on the client and debug it without mouse-driven manual tests.
Requires loading an existing data-set, running a series of HTTP requests and check the responses. Ideally wrap it into phpunit to run all tests at once.