test(helpers): couvrir les trois helpers publics sans test (#TEST-004) - #89
Merged
Conversation
`getSeriesCover`, `serializeSeries` et `getParentCollection` étaient exportés
par l'API publique et n'apparaissaient nulle part dans `tests/` — zéro
occurrence du symbole sur tout le répertoire. Trou ponctuel plutôt que
négligence de fond : le ratio du dépôt est bon par ailleurs.
19 tests ajoutés, 293 verts au total. Plus aucun helper public sans couverture.
Trois d'entre eux fixent un contrat plutôt qu'ils ne vérifient un calcul :
- `render` doit être omis par `serializeSeries` — c'est sa raison d'être, une
île React recevrait la fonction comme `undefined` après passage de props ;
- l'ordre de `images[]` fait foi pour la cover, contre tout tri introduit en
amont ;
- `getParentCollection('/x')` rend une chaîne vide, cas dégénéré documenté pour
que sa modification soit un jour délibérée.
Validés par mutation, cinq fois : `indexOf`→`lastIndexOf` (2 tests tombent),
retour du suffixe au lieu du préfixe (3), `Date` non convertie en ISO (1),
`date` non retirée de `data` (1), dernière image au lieu de la première (2).
Aucune mutation ne passe inaperçue.
Aucune entrée au CHANGELOG : rien ne change pour un consommateur, et le gonfler
d'ajouts internes lui ferait perdre sa valeur de signal.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AgEyJQRrNvugcuu9WsujGy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dernier finding de l'audit
blackemperordu 2026-08-24, après #SEC-001 (0.18.1) et #SEC-002 (0.18.2).Le trou
getSeriesCover,serializeSeriesetgetParentCollectionsont exportés par l'API publique et n'apparaissaient nulle part danstests/— zéro occurrence du symbole sur tout le répertoire.Trou ponctuel plutôt que négligence de fond : le ratio du dépôt est bon par ailleurs (1,38× le TypeScript).
Ce qui a été écrit
19 tests dans
tests/unit/helpers-uncovered.test.ts. 293 verts au total, et plus aucun helper public sans couverture.Trois d'entre eux fixent un contrat plutôt qu'ils ne vérifient un calcul :
renderdoit être omisserializeSeries— une île React recevrait la fonction commeundefinedaprès passage de propsimages[]fait foigetParentCollection('/x')→''Validés par mutation — cinq fois
Un test qui passe du premier coup ne prouve rien tant qu'on ne l'a pas vu échouer :
indexOf→lastIndexOfDatenon convertie en ISOdatenon retirée dedataAucune mutation ne passe inaperçue.
src/helpers/index.tsest restauré à l'identique — ce diff ne touche aucun code de production.Pas d'entrée au CHANGELOG
Rien ne change pour un consommateur. Le gonfler d'ajouts internes lui ferait perdre sa valeur de signal — et donc aucune version à publier pour cette PR.
Vérification
npm run typecheck— 0 erreurnpm test— 293 tests verts (15 fichiers), dont 19 nouveaux🤖 Generated with Claude Code
https://claude.ai/code/session_01AgEyJQRrNvugcuu9WsujGy