38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# tests — Test Suite
|
|
|
|
## Purpose
|
|
|
|
230+ teste: unit pe fiecare modul + 8 scenarii de regresie FSM pe imagini reale +
|
|
env loader. Rulează headless pe Linux/WSL (de aceea FSM & config nu importă cv2).
|
|
|
|
## Ownership
|
|
|
|
Tot `tests/`. Fiecare `test_<modul>.py` oglindește un modul din `src/atm/`.
|
|
|
|
## Local Contracts
|
|
|
|
- Un modul nou în `src/atm/` ⇒ un `test_<modul>.py` corespondent.
|
|
- **`test_scenarios_regression.py`** rulează FSM-ul peste secvențele din
|
|
`calibration/scenarios.json` pe frame-uri reale. Schimbi FSM ⇒ adaugă/actualizează
|
|
scenariu acolo (vezi `calibration/AGENTS.md`).
|
|
- **`test_env_loader.py`** monkeypatchează env-ul; păstrează regula „shell wins"
|
|
din `config._ensure_env_loaded`.
|
|
- Testele nu trebuie să atingă rețeaua reală (Telegram/Discord) — mock-uiește.
|
|
|
|
## Work Guidance
|
|
|
|
- Rulează suita completă înainte de orice commit care atinge `src/atm/`.
|
|
- Dacă un test cere Pillow/OpenCV pe checkout-ul Windows, folosește venv-ul repo
|
|
(vezi `scripts/AGENTS.md`).
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
pytest -q # toată suita
|
|
pytest tests/test_scenarios_regression.py -v # FSM pe imagini reale
|
|
```
|
|
|
|
## Child DOX Index
|
|
|
|
(none — leaf)
|