test(categories): complete test coverage for migration flow (#123) #133
No reviewers
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#133
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-123-complete-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #123
Coverage ajoutée
Unitaires
categoryMappingService.test.ts— étendu à 100 tests couvrant chaque entréeDEFAULT_MAPPINGS, les 4 passes (keyword / supplier / default / review), détection custom, splits, priorité passe-par-passe.categoryBackupService.test.ts— 23 tests avec mocks Tauri : succès normal, échec write, échec integrity check, profil avec PIN.categoryMigrationService.test.ts— 16 tests sur le writer SQL atomique : flow BEGIN/COMMIT, backup-missing abort, custom parent creation (id 2000), journallast_categories_migration.Intégration
src/__integration__/category-migration.test.ts— 5 flows : plan → backup → migrate → verify, rollback SREF, échec backup sans écriture, échec SQL → ROLLBACK.Régression
src/__integration__/regression-v2-v1.test.ts— 14 tests paramétrés.each([v2, v1]): auto-catégorisation, budget agrégation parent/enfant, splits préservés.Fixtures
src/__fixtures__/profiles.ts—makeV2Profile,makeV1Profile,makeV2ProfileWithCustom(catégories réalistes, keywords, suppliers, transactions, budgets).QA manuelle
docs/qa-refonte-seed-categories-ipc.md— checklist 14 sections : pré-migration, guide, 3 étapes migration, cas nominal, échec backup, échec SQL, bannière 90j, restauration, profils custom/sans-custom, régression, i18n.Résultats
npx tsc --noEmitcleannpx vitest run— 331 tests green (up from 193 baseline = +138 nouveaux)npm run buildcleanNote finale
spec-refonte-seed-categories-ipc. Issues #115-#123 toutes mergées à l'issue de ce merge.Depends on #115, #116, #119, #120, #121 (tous mergés).
Self-review — APPROVE ✅
Summary : +138 tests nouveaux (331 total, tous verts). Aucune modification de code applicatif, uniquement des tests + fixtures + doc QA. Risque regression : nul.
Checklist
Date.now()non-mocké, pas de timing flaky). Mocks cohérents avec les signatures réelles.makeV2Profile,makeV1Profile,makeV2ProfileWithCustom), structure claire__fixtures__/+__integration__/.Observations mineures (non bloquantes)
docs/qa-refonte-seed-categories-ipc.mdliste les tests automatisés équivalents en bas → utile pour la maintenance. Bien.categoryMigrationService.test.tscouvre le chemin ROLLBACK.Verdict : prêt à merger. Ce PR clôt le milestone
spec-refonte-seed-categories-ipc.