Create a comprehensive end-to-end test suite that exercises the full API lifecycle: create, list, filter, get, update, and delete. Tests should run against a real or test-instance of the server and use a clean database state.
Acceptance Criteria:
- All endpoints are covered by e2e tests
- Tests verify happy paths and edge cases
- Test suite runs in CI or via npm test / pytest command
Test Cases:
- E2E: Full lifecycle — create a todo, list todos, get by id, update title and status, filter by completed, delete, and verify 404
- E2E: Create multiple todos with mixed completed states and assert filtering accuracy
- E2E: Attempt invalid operations (empty title on create, empty title on update, get/delete non-existent) and assert correct 400/404 responses
Create a comprehensive end-to-end test suite that exercises the full API lifecycle: create, list, filter, get, update, and delete. Tests should run against a real or test-instance of the server and use a clean database state.
Acceptance Criteria:
Test Cases: