Qualidade e testes

O que rodar antes de abrir um PR, o que o CI confere e os testes que não podem faltar.

Antes de abrir um PR

composer format   # Pint: reescreve o PHP
pnpm format       # Prettier: reescreve resources/
composer ci:check # exatamente o que o CI roda
pnpm test         # Vitest: não está no ci:check

Os dois format primeiro, porque reescrevem arquivos; o ci:check depois só confere. Rodar as verificações soltas não substitui o ci:check: ele inclui o pnpm format:check, fácil de esquecer e que reprova o pipeline.

O que o ci:check roda

EtapaComando
ESLintpnpm run lint:check
Prettierpnpm run format:check
TypeScriptpnpm run types:check (tsc --noEmit)
Pintpint --parallel --test
Larastan (nível 7)phpstan analyse
Pestphp artisan test (PostgreSQL, banco testing)

O GitHub Actions (.github/workflows/tests.yml) roda composer setup e composer ci:check com PostgreSQL 17 e Redis, em todo PR e push na main.

Testes que não podem faltar

Cobertura obrigatória em Domain/Financeiro e Domain/Vendas. Não feche PR sem:

  • divisão de parcelas sem perder centavos (R$ 100,00 ÷ 3);
  • cada faixa da política de cancelamento, nas bordas exatas (60/59/30/29/15/14/7/6/0 dias);
  • idempotência do webhook de pagamento (mesmo evento 2×);
  • contrato emitido imutável depois de alterar o modelo do pacote;
  • estoque nunca negativo em confirmações concorrentes;
  • CPF duplicado rejeitado;
  • cada Policy devolvendo 403 para papel sem permissão.

Checklist de revisão

  • Nenhum valor monetário fora de *_centavos
  • Nenhum select com mais de 50 opções
  • Nenhuma listagem sem paginação e filtro no servidor
  • Nenhuma rota fora de auth sem justificativa
  • Nenhum arquivo sensível em disco público
  • Nenhum campo numerado (campo1..campo5)
  • Nenhum enum duplicado ou ambíguo
  • Nenhuma tabela sem FK e UNIQUE onde cabe
  • Nenhum documento jurídico renderizado a partir de dado mutável
  • Nenhuma autorização fora de Policy
  • Nenhum controller com mais de ~150 linhas
  • Nenhuma regra de negócio em controller ou TSX
  • Nenhuma dependência nova sem justificativa no PR

Nesta página