Better test cases for user API

In brief, the current test cases don't test anything except that the server is running and does respond to requests. Moreover, the API is inconsistent and incomplete.

I created a couple of test cases on the user API to illustrate a more consistent and complete approach using the user API as an example.
This will run before every test. We will insert a user into the database directly so we can use it for testing things later.