# Relatório de Testes - v2.0

Última execução: 2025-03-07

## 1. Sintaxe PHP (api/)

Todos os arquivos validados com `php -l`:

- api/public/index.php
- api/src/Controller/*.php
- api/src/Service/*.php
- api/src/Util/Logger.php
- api/src/Http/Router.php

**Status:** OK

## 2. Testes unitários (scripts/run-tests.sh)

| Teste | Status | Observação |
|-------|--------|------------|
| PrecoServiceTest | OK | Validações de preço |
| CarrinhoServiceTest | OK | Fluxo carrinho |
| FinalizarServiceTest | Pula | Requer PDO MySQL |
| LoteriaServiceTest | Pula | Requer DB |
| BolaoServiceTest | Pula | Requer DB |
| ResultadoServiceTest | Pula | Requer DB |
| BolaoMMGeradorScriptTest | OK | Bolão +Milionária |

**Executar:** `bash scripts/run-tests.sh`

## 3. Frontend (Next.js)

| Verificação | Status |
|-------------|--------|
| npm run lint | OK (1 warning: img em conta/creditos) |
| npm run build | Verificar permissões .next |

## 4. Endpoints API (smoke)

| Endpoint | Método | Status |
|----------|--------|--------|
| /api/v2/health | GET | 200, `{"status":"ok","version":"2.0"}` |
| /api/v2/config/horarios-bloqueio | GET | 200, JSON com horários (individual, boloes, super_sete) |

## 5. Testes com banco

Para executar testes que dependem de MySQL (FinalizarServiceTest, LoteriaServiceTest, BolaoServiceTest, ResultadoServiceTest):

1. Subir Docker: `docker compose up -d`
2. Garantir que config/Configuration.php aponta para o banco
3. Rodar: `bash scripts/run-tests.sh`

---

*Gerado conforme .cursor/rules/testes-apos-fase.mdc*
