# Matriz de Testes (com/sem banco e Playwright) ## Status (pronto x faltando) **Pronto** - Conteúdo descrito neste documento. **Faltando** - Confirmar no código o estado real das funcionalidades e atualizar esta seção conforme necessário. --- Este documento consolida **todos os testes** conhecidos no repositório e define uma matriz clara para rodar testes **com banco**, **sem banco** e **E2E/Playwright**. --- ## 1) Backend (Go) — `backend/` ### 1.1 Sem banco - **Unitários e integrações sem DB** (default): ```bash cd backend go test ./... -cover ``` ### 1.2 Com banco - Alguns testes usam conexão real e **podem ser ignorados** quando `SKIP_DB_TEST` está setado. - Para rodar com banco, **não** defina `SKIP_DB_TEST` e configure `DATABASE_URL`: ```bash cd backend export DATABASE_URL=postgres://postgres:postgres@localhost:5432/saveinmed?sslmode=disable go test ./... -cover ``` ### 1.3 Observações - Testes com banco estão em: - `backend/internal/server/server_test.go` - `backend/internal/repository/postgres/postgres_test.go` --- ## 2) Marketplace (React/Vite) — `marketplace/` ### 2.1 Unitários (Vitest) ```bash cd marketplace npm test ``` ### 2.2 Coverage ```bash cd marketplace npm run test:coverage ``` ### 2.3 Observações - Configuração do Vitest: `marketplace/vitest.config.ts` - Pastas de testes: `marketplace/src/**/*.test.{ts,tsx}` --- ## 3) Backoffice (NestJS) — `backoffice/` ### 3.1 Unitários ```bash cd backoffice pnpm test ``` ### 3.2 E2E ```bash cd backoffice pnpm test:e2e ``` ### 3.3 Coverage ```bash cd backoffice pnpm test:cov ``` --- ## 4) SaveInMed Frontend (Next.js) — `saveinmed-frontend/` ### 4.1 Unitários (quando configurados) ```bash cd saveinmed-frontend npm test ``` ### 4.2 E2E (quando configurados) ```bash cd saveinmed-frontend npm run test:e2e ``` ### 4.3 Playwright (dependência presente) - Existe dependência de `@playwright/test` no `package-lock.json`, mas não há documentação/roteiro de testes. - **Recomendação**: criar `playwright.config.ts` e uma pasta `tests/e2e`. - Exemplo de comando esperado após configuração: ```bash cd saveinmed-frontend npx playwright test ``` --- ## 5) Website (Fresh/Deno) — `website/` ### 5.1 Testes ```bash cd website deno test ``` ### 5.2 Coverage ```bash cd website deno test --coverage=coverage ``` --- ## 6) Runner unificado (script raiz) O script `start.sh` possui função para executar testes do backend e marketplace: ```bash ./start.sh --test ``` --- ## 7) Matriz resumida | Componente | Sem DB | Com DB | Unitário | E2E | Playwright | |-----------|--------|--------|----------|-----|------------| | Backend (Go) | ✅ | ✅ | ✅ | ❌ | ❌ | | Marketplace (React) | ✅ | N/A | ✅ | ❌ | ❌ | | Backoffice (NestJS) | ✅ | ✅* | ✅ | ✅ | ❌ | | SaveInMed Frontend | ✅ | N/A | ✅* | ✅* | ✅* | | Website (Fresh/Deno) | ✅ | N/A | ✅ | ❌ | ❌ | \* dependendo da configuração local e do banco necessário pelos testes.