Testes¶
Inventário observado¶
Na baseline documentada existem arquivos de teste em todas as camadas principais, exceto waiter_desktop, onde não há diretório de testes versionado na árvore auditada.
| Área | Arquivos de teste observados |
|---|---|
apps/aivaleu_app |
38 |
apps/super_admin_web |
13 |
apps/waiter_desktop |
0 |
packages/aivaleu_domain |
29 |
packages/aivaleu_data |
14 |
packages/aivaleu_core |
1 |
packages/aivaleu_ui |
3 |
functions/tests |
26 JS, incluindo 3 em tests/emulator |
Esses números contam arquivos, não casos de teste.
O context/implementation_status.md registra, como resultado histórico da Sprint 7, 176 testes de Functions, 13 de emulador, 97 de domínio, 77 de dados, 145 do app e 64 do Super Admin. Esses totais são um registro de execução anterior; não substituem uma nova execução na branch atual.
Flutter/Dart¶
Na raiz:
Ou por package/app:
Áreas com cobertura relevante incluem entities/use cases, repositories, feed, detalhes da oferta, auth, campanhas, curadoria e widgets.
Functions¶
A suíte padrão Jest ignora tests/emulator para permanecer unitária/rápida.
Emulator tests¶
Esse script executa o Firestore Emulator com projeto demo e roda apenas a pasta de testes de emulador. É o lugar adequado para concorrência de quota e Rules que precisam do runtime real do Firestore.
O que testar ao alterar fluxos críticos¶
Ofertas/feed¶
- elegibilidade e raio;
- pesos/diversidade;
- preservação da ordem no repository;
- fallback Firestore;
- oferta esgotada.
Cupons¶
- cooldown;
- duplicidade ativa;
- quota concorrente;
- transições
active/waiting_checkin/used/cancelled/expired; - consumo/liberação exatos dos contadores.
Segurança¶
- partner não altera autoria/curadoria;
- usuário não escreve subscription/Premium;
- garçom não confirma store fora da sessão;
- Super Admin sem claim é negado.
CI¶
Nenhum workflow de CI em .github/workflows foi encontrado na baseline auditada. Portanto, passagem local de testes/analyze não deve ser interpretada como gate automático de merge até que um pipeline seja versionado.