135 lines
2.8 KiB
Markdown
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.
|