Files
clientflow_backend/E2E_DEEP_COVERAGE_README.md

79 lines
2.3 KiB
Markdown

# ClientFlow E2E Deep Coverage Overlay
Acrescenta uma camada de cobertura mais agressiva ao E2E já existente.
## O que testa
1. Core E2E existente:
- mocks OpenRouter, Jasmin, Contactos, Odoo, Chatwoot;
- `/analyze`;
- Chatwoot WebSocket;
- reconciliação;
- páginas principais;
- APIs internas.
2. Deep UI/API audit:
- GET de páginas, aliases e partials HTMX;
- links internos encontrados no HTML;
- forms sem action, métodos inválidos, ids duplicados;
- botões sem label;
- padrões de erro renderizados no HTML;
- API de contactos com GET/POST e casos inválidos;
- criação/update de cliente;
- criação/update/toggle de produto;
- criação de oportunidade;
- add/delete de item de oportunidade;
- lifecycle de tarefas: reclassify, reschedule, complete, complete-with-note, skip;
- endpoints de reconciliação;
- endpoints de integração Odoo;
- operações de oportunidade quando aplicáveis.
3. Playwright UI opcional:
- navegação real em browser;
- clique em links de navegação;
- submit visual de forms de cliente/produto/oportunidade;
- botões de reconciliação;
- captura de screenshots em falha;
- deteção de `pageerror` e `console.error`.
## Comandos
Aplicar overlay:
```bash
cd ~/Transferências/clientflow_backend_v4928_1_5_40_with_e2e_test_lab/cf_v1532_work
unzip -o ~/Transferências/clientflow_e2e_deep_coverage_overlay.zip -d .
chmod +x e2e_test_lab/scripts/*.sh
source .venv/bin/activate
pip install -r e2e_test_lab/requirements-e2e.txt
```
Correr core + deep API/HTML:
```bash
./e2e_test_lab/scripts/run_deep_e2e_lab.sh | tee e2e_test_lab/latest_deep_e2e_run.log
```
Instalar browser Playwright:
```bash
./e2e_test_lab/scripts/install_playwright_ui.sh
```
Correr tudo incluindo browser real:
```bash
RUN_PLAYWRIGHT_UI=1 ./e2e_test_lab/scripts/run_deep_e2e_lab.sh | tee e2e_test_lab/latest_deep_e2e_run.log
```
Ver resumos:
```bash
tail -120 e2e_test_lab/latest_deep_e2e_run.log
cat e2e_test_lab/latest_deep_audit_report.md
```
## Nota
Isto aumenta muito a cobertura, mas `100%` literal não é garantível sem instrumentação de cobertura por código, mapa completo de estados de negócio e dados de teste para todas as combinações. Este overlay aproxima o E2E de um teste de regressão funcional completo.