Skip to content

test(helpers): couvrir les trois helpers publics sans test (#TEST-004) - #89

Merged
izo merged 1 commit into
mainfrom
test/test-004-helpers-non-couverts
Aug 24, 2026
Merged

test(helpers): couvrir les trois helpers publics sans test (#TEST-004)#89
izo merged 1 commit into
mainfrom
test/test-004-helpers-non-couverts

Conversation

@izo

@izo izo commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Dernier finding de l'audit blackemperor du 2026-08-24, après #SEC-001 (0.18.1) et #SEC-002 (0.18.2).

Le trou

getSeriesCover, serializeSeries et getParentCollection sont 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 (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 :

Test Ce qu'il protège
render doit être omis C'est la raison d'être de serializeSeries — une île React recevrait la fonction comme undefined après passage de props
L'ordre de images[] fait foi Garde contre un tri introduit en amont : c'est le frontmatter qui décide de la cover
getParentCollection('/x')'' Cas dégénéré, documenté pour que sa modification soit un jour délibérée plutôt que subie

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 :

Mutation Tests qui tombent
indexOflastIndexOf 2
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. src/helpers/index.ts est 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 erreur
  • npm test293 tests verts (15 fichiers), dont 19 nouveaux

🤖 Generated with Claude Code

https://claude.ai/code/session_01AgEyJQRrNvugcuu9WsujGy

`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
@izo
izo merged commit aa8da86 into main Aug 24, 2026
1 check passed
@izo
izo deleted the test/test-004-helpers-non-couverts branch August 24, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant