Context
CashPilot collects earnings on a configurable interval (default: 3600s) using APScheduler, and also triggers a collection run immediately on container startup.
Task
- Verify the scheduler is configured with the correct interval from
CASHPILOT_COLLECTION_INTERVAL
- Verify the startup trigger fires a collection run
- Verify collection results are stored in the database
- Mock collector HTTP calls to avoid hitting real APIs
Reference
app/main.py — scheduler setup, startup collection
app/collectors/ — collector implementations
app/database.py — earnings storage