Implementação de Testes Unitários no Backend

Implementação de Testes Unitários no Backend

🎯 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 test e npm 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).
  • Configuração: Ajustar o .gitignore para não versionar relatórios de cobertura.

📊 Critérios de Aceitação

  • Jest e Supertest instalados e configurados.
  • Todos os testes devem passar (npm test retornando verde).
  • Relatório de cobertura deve indicar >90% em controllers e utils.
  • O arquivo mockController.js (legado) deve ser ignorado ou removido.