🎯 Descrição
Implementar uma suíte de testes unitários robusta para o backend da aplicação.
Atualmente, o projeto não possui uma verificação automatizada da lógica de negócio, o que aumenta o risco de bugs em produção e dificulta refatorações futuras. Precisamos garantir que os Controllers e Utils principais estejam funcionando como esperado.
✅ Objetivo
Assegurar a qualidade e estabilidade do código através de testes automatizados. A meta é atingir uma cobertura de código (Code Coverage) superior a 90% nos arquivos principais da API.
📝 Detalhes da Implementação
- Ferramentas: Utilizar Jest como runner e Supertest (ou mocks manuais) para simular requisições.
- Escopo:
- Configurar script
npm testenpm run test:coverage. - Testar
src/utils/regionMap.js(Lógica pura). - Testar
src/api/controllers/statsController.js(Mock do Banco de Dados). - Testar
src/api/controllers/reportController.js(Mock de Banco, PDF e IA).
- Configurar script
- Configuração: Ajustar o
.gitignorepara não versionar relatórios de cobertura.
📊 Critérios de Aceitação
- Jest e Supertest instalados e configurados.
- Todos os testes devem passar (
npm testretornando verde). - Relatório de cobertura deve indicar >90% em
controllerseutils. - O arquivo
mockController.js(legado) deve ser ignorado ou removido.