E2E Tests (TypeScript)
Overview
Testes end-to-end para fluxos críticos: API com Supertest + @nestjs/testing, UI com Playwright quando houver frontend.
Guidelines
- Ler
references/e2e-test-pattern.md. - E2E testa o fluxo completo (HTTP real ou browser real) — não mockar use case/repository.
- Um spec por BC:
apps/backend/test/<module>.e2e-spec.ts(+e2e/<module>.spec.tsse houver UI). - Banco: Postgres via docker-compose ou service do CI; nunca produção.
- Web E2E só quando a story inclui UI (Angular/Vue/Next).
Workflow
- Identificar fluxo crítico da story (critérios de aceitação Given/When/Then).
- Gerar spec base com o script (idempotente — não sobrescreve sem
--force):
# BC com CRUD (POST → GET + 404)
node test-e2e/scripts/create-e2e-spec.mjs customers \
--template crud \
--create-fields name,email,cpf \
--assert-field email \
--web \
--module-label Clientes
# Módulo scaffold (só GET /module)
node test-e2e/scripts/create-e2e-spec.mjs billing --template module-get
# Feature web-only (Playwright, sem spec de API)
node test-e2e/scripts/create-e2e-spec.mjs customers --template feature --module-label Clientes
- Ajustar payload/assertions se o contrato da API divergir do template.
- Bootstrap (
config-project) já fornecejest-e2e.json,app.e2e-spec.ts,playwright.config.tse scriptstest:e2e/test:e2e:web. config-new-modulegera automaticamentemodule-get+ spec web ao criar módulo.- Executar
npm run test:e2e(API) enpm run test:e2e:web(UI). - Validar no CI (
config-cicd— steptest:e2e).
Integração com backlog
| Task prefix | Este skill cobre |
|---|---|
test:e2e |
Specs API e/ou Playwright |
References
references/e2e-test-pattern.mdscripts/create-e2e-spec.mjs— gerador de specs por BCassets/templates/— templatesmodule-get,crud,feature../config-cicd/references/cicd-pattern.md../skills-standards.md
Global Standards
- Consultar
../skills-standards.md.