There are the following components where problems can occur:
- Database access (including configuration, reference data and data that always needs to be there such as an admin account)
- REST API (business logic, configuration, routing)
- Service bus implementation, which the API uses to serve the requests (components, workflows, configuration)
- View Models (state and UI interactions such as dialogs)
- Some HTML rendering
How much testing is sufficient? Meaning, what's the minimum effort required to test reliability?
Is it best practice to simply do integration/end-to-end testing (deploy the whole application to a real server with a real database and some sample data) and test all possible scenarios by checking UI-level responses?