# Données de test

# Données de test

> _Dernière mise à jour : 2026-05-10_

## Premier jeu de test

L'app n'a pas de seed automatique. Pour avoir des données de test :

1. **Login** avec le premier admin (`FIRST_ADMIN_USERNAME` / `FIRST_ADMIN_PASSWORD`)
2. **`/add-game`** → ajouter un PDF de règles court (5-10 pages, choisir un truc simple genre Tichu) pour le premier ingest test
3. Attendre la fin de l'ingestion (5-10 min selon Claude)
4. **`/play`** → poser une question pour tester le RAG end-to-end

## Banc d'éval RAG

Le banc se trouve dans `tests/rag/` (séparé de Vitest unit tests). Il :

- Lance des questions test contre l'API
- Capture les chunks retrouvés et la réponse Claude
- Compare via un judge Haiku à la réponse attendue
- Génère un rapport HTML interactif

```bash
npm run test:rag              # Run complet
npm run test:rag:capture      # Capture les réponses pour archive
npm run test:rag:report       # Rapport markdown
npm run test:rag:html         # HTML interactif
npm run test:rag:html:serve   # Serveur local pour viewer (port 8888)
```

C'est un outil **subjectif** (juge LLM), à utiliser pour suivre l'évolution qualité, pas pour gating CI strict.

## Banc Vitest unitaire

```bash
npm test          # Backend
cd frontend && npm test   # Frontend
```

Couvre les schémas Zod, parsers (markdown, scrapers HTML, decklists), normalisations, wrappers I/O. **Doit passer en CI** sans skip.

## Cartes TCG pour test deckbuilding

Pour tester le mode deckbuilding sans avoir à attendre une ingestion de set :

```bash
# Magic — utiliser un set récent
npm run cards:mtg:download
npm run cards:mtg:extract
npm run cards:mtg:translate-missing
npm run cards:mtg:ingest

# Riftbound — API live, plus rapide
npm run cards:riftbound:fetch
npm run cards:riftbound:ingest

# FAB — déjà bundlé
npm run cards:fab:ingest
```

Puis `npm run cards:<tcg>:link-game <gameId>` pour rattacher la collection à un jeu existant (set `games.has_card_database`).

## Données de test pour le forum sync BGG

Trigger manuel (sans attendre le cron) :

```bash
docker exec boardgame-referee npx tsx -e "
import { syncBggForums } from './src/cron/forum-sync.js';
await syncBggForums();
"
```

Ou en local :

```bash
npx tsx -e "..."
```