Estratégia de testes e CI
- Web (
testnoararu-web): storage/progresso, cache PWA, core/budget/cleanup do reader e merge de sync; - Server (
testnoararu-server): unidades e integrações Express/PostgreSQL/filesystem em banco isoladoararu_test; - E2E (
test/e2e-smoke.js): build, serviços temporários e browser viaplaywright-core; - benchmarks: catálogo configurável e cenário de 1.000 registros;
- benchmark de API configurável para health, system, works, operations/jobs e métricas p50/p95/p99;
- contrato automatizado entre as rotas
/api/v1e o OpenAPI; - performance frontend: tamanho de main, reader e CSS.
npm test # dentro de araru-server ou araru-webnpm run test:e2e # dentro de araru-webnpm run benchmark:catalog:1knpm run benchmark:catalognpm run benchmark:apinpm run check:performanceCI atual
Seção intitulada “CI atual”.github/workflows/ci.yml dispara em push e pull request, usa Node 22 e executa npm ci, testes, E2E, dois benchmarks, lint e budget. Não publica artifacts/deploy e não executa matriz de versões.
O teste E2E cobre proxy/cross-origin, Range/CORS, PDF/EPUB/MOBI/CBZ/CBR, touchscreen, PWA e offline seletivo. Testes backend usam arquivos esparsos para 500 MB, 2 GB e 5 GB sem transferi-los integralmente. TEST_DATABASE_URL pode apontar para um PostgreSQL externo, mas o nome do banco deve terminar em _test.
