Skip to main content

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
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

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 :

# 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) :

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

Ou en local :

npx tsx -e "..."