Skip to content

refactor(m11-05): decouper services et composants metier (M-11-#185) - #197

Merged
donovan-dev-web merged 5 commits into
developfrom
feature/m11-05-decouper-services-composants
Sep 8, 2026
Merged

donovan-dev-web merged 5 commits into
developfrom
feature/m11-05-decouper-services-composants

Conversation

@donovan-dev-web

Copy link
Copy Markdown
Owner

Objectif

Refactor: Split services and components to be under 350 lines each with unit-testable extracted logic (M-11-#185).

Fichiers modifies

  • src/backup/backup-service.ts: extrait backup-parsers.ts (validation) et backup-csv.ts (CSV parse/export)
  • src/components/magazine-form.tsx: extrait use-magazine-form.ts (hook) et magazine-form-styles.ts (styles)
  • src/app/(tabs)/collection/index.tsx: extrait collection-list.ts (sort/filter), collection-filters.tsx, pagination.tsx
  • src/app/scan/search.tsx: extrait scan-search-views.tsx (found/unknown views)
  • src/components/drawer-content.tsx: extrait drawer-items.tsx (DrawerItem, Collapsible, SubItem)

Nouveaux tests

  • src/components/tests/use-magazine-form.test.ts: logique pure du formulaire
  • src/lib/tests/collection-list.test.ts: tri, pagination, filtres

Verifications

  • 116 tests passent
  • Lint: 0 erreurs
  • Aucune regression comportementale - re-exports preserves

Closes #185

…ns, dates, taille, historique) (M-11-#185)

- E1 : pas de copie fantôme quand copyNotes et dateAdded sont vides
- E2 : clé d'édition publication::issueNumber::edition::language::condition
- M9 : rejet des IDs dupliqués et des valeurs invalides (fractionnaire, dates ISO)
- M3 : borne d'import (25 Mo) côté service et sélecteur de fichier
- M10 : export/import de createdAt/updatedAt (JSON + CSV rétro-compatible)
- mineures : trim des champs texte, support CRLF et retour-chariot seul
…herche accent-aware, addMagazine atomique (M-11-#185)

- E3 : chaque migration dans une transaction (ROLLBACK en cas d'échec)
- M2 : recherche en JS (filtrage + tri) insensible aux accents et à la casse,
      sans interprétation des jokers LIKE
- M1 : addMagazine via createWithCopy transactionnel (magazine + exemplaire)
…esult partagé (M-11-#185)

- M4 : ISBN-10 tolérent sur X en dernière position uniquement, repli GENERIC
- M5 : mutux résolu/possédé et styles de statut dédupliqués via useScanResult
- tests composants scan-search-views pour couvrir les branches d'état
@donovan-dev-web
donovan-dev-web merged commit 355697e into develop Sep 8, 2026
1 check passed
@donovan-dev-web
donovan-dev-web deleted the feature/m11-05-decouper-services-composants branch September 8, 2026 10:26
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