saveinmed/docs/TESTES.md
2026-01-01 15:20:48 -03:00

135 lines
2.8 KiB
Markdown

# Matriz de Testes (com/sem banco e Playwright)
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.