Issue at hand
Currently, the application relies solely on manual testing through Postman and Swagger UI, which poses us the following problems:
- Time-consuming and error-prone (human error)
- Not repeatable or consistent (on swagger)
- Difficult to maintain as codebase grows
- Cannot be used as a check point in for CI/CD pipeline.
Solution
Implement Pytest test suite covering all API endpoints with test fixtures, database mocking, and authentication handling and cleanups, so the test can all be run via one command docker exec -web poetry run pytest to get a overview if all endpoints are working as intended.