Frontend Web - Testes e Validações¶
Este documento descreve os comandos e critérios de qualidade usados no frontend web.
Ferramentas¶
- Vitest
- Testing Library (
react,user-event,jest-dom) - ESLint
- TypeScript (
tscno build)
Scripts atuais¶
Com base em billings-ease-web/package.json:
pnpm testpnpm test:uipnpm test:coveragepnpm lintpnpm buildpnpm check:deps:modulespnpm check:deps:modules:strict
Gate arquitetural¶
check:deps:modules e check:deps:modules:strict validam:
- módulo não importa
pages servicesnão importamhooks/viewhooksnão importamviewviewnão importaserviceslocais- modo strict:
viewnão importahooksviewnão usauseQuery/useMutationviewnão importa@/services/apipagedeve orquestrar viahooks(sem importarserviceslocais diretamente)
Estratégia recomendada¶
- Testar componentes de
viewecomponentscomo camada de apresentação. - Testar hooks com foco em comportamento de estado e efeitos.
- Mockar serviços nos testes de hook/page.
- Evitar acoplamento de teste com detalhes internos de implementação visual.
Critério mínimo de aceitação em refatorações¶
pnpm check:deps:modulespnpm check:deps:modules:strictpnpm lintpnpm build
Quando houver cobertura específica da mudança:
pnpm test(ou suíte direcionada)
Cenários de aceite - onboarding e primeiro ciclo¶
- Cliente conclui
/health-infoe não recebe ciclo automático. - Cliente sem ciclo ativo acessa
/cyclese recebe bloqueio obrigatório para criar o primeiro ciclo. - Cliente sem ciclo ativo acessa
/daily-registerdiretamente e recebe o mesmo bloqueio obrigatório. - Após criar o ciclo, a navegação em
/cycles,/dashboarde/daily-registervolta ao fluxo normal.