fix: corrections générateur PNJ Traveller et tests Jest

- validateOptions : remplit les champs manquants et corrige les clés invalides
  (détection précédemment inopérante car getXByKey renvoie l'objet par défaut)
- generateCharacteristics : ne mélange plus le tableau avant affectation,
  la priorité des caractéristiques (high → medium → low) est respectée
- Exports manquants : convertSkillToMgt2eFormat, popRandomItems, ERROR_CODES,
  TravellerNpcError
- Tests : import des globals via @jest/globals (obligatoire en ESM),
  suppression de l'import obsolète buildMgt2eBaseActorSystem,
  attente corrigée pilot.smallCraft, test des doublons aligné sur le
  dédoublonnage réel (noms complets, spécialisations conservées)
- AGENTS.md : section Testing mise à jour
- README.md : ajouté
This commit is contained in:
2026-08-03 21:02:35 +02:00
parent f4ba85bcb9
commit 1c55484bf7
5 changed files with 188 additions and 20 deletions
+11 -6
View File
@@ -38,15 +38,20 @@ Commands are registered via `ChatLogV2.CHAT_COMMANDS` — not Hooks.on("chatMess
## Testing
Deux fichiers de test, pas de build :
```sh
# standalone, no npm needed — install jest globally or use npx
npx jest scripts/tests/travellerNpcGenerator.test.js
# Tests Jest (globals importés via @jest/globals, flag ESM requis)
NODE_OPTIONS="--experimental-vm-modules" npx jest scripts/tests/travellerNpcGenerator.test.js
# Mini-runner maison (Jest rapporte un faux positif « at least one test »)
node scripts/tests/allyEnemyGenerator.test.js
```
- Single file, 1096 lines, hand-rolled FoundryVTT mocks.
- Covers: utilities, lookups, validation, characteristic/skill generation, skill conversion, full NPC gen, ModuleCache, errors, config validation.
- No CI test step — you must run manually.
- No Jest config file — relies on defaults.
- `travellerNpcGenerator.test.js` : Jest (`describe`/`it`/`expect`), mock FoundryVTT fait main, ~1100 lignes. Couvre : utilitaires, lookups, validation, caractéristiques/compétences, conversion de compétences, génération complète, ModuleCache, erreurs, config validation.
- `allyEnemyGenerator.test.js` : son propre runner (`test()`/`assertEqual`), 39 tests, à lancer avec `node` directement.
- Config Jest minimale dans `jest.config.cjs` (`testMatch` + `transform: {}`).
- Pas de CI test step — à lancer manuellement.
## Versioning