Files
atm/tests/AGENTS.md
2026-06-13 11:51:36 +03:00

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)