Skip to content

feat: Migre les flux article/auteur vers oaId et fiabilise l’édition des auteurs

Fainstein requested to merge feat/create-annotation into dev

Résumé

Cette branche change id => oaId pour les articles et les auteurs, afin d'éviter la confusion entre l'id d'openalex (oaId) et l'id technique de Mongo (_id).

Elle renforce aussi le flux d’édition des auteurs dans le formulaire d’article (ajout/suppression/auteurs en attente) pour éviter des états incohérents côté UI et API.

Changements fonctionnels

Alignement des identifiants article/auteur sur oaId

Migration et validation des données existantes

  • Des scripts de migration couvrent les renommages/normalisations de champs d’identifiants existants.
  • Les validateurs MongoDB des collections articles/auteurs sont alignés sur le nouveau contrat.
  • Le script de migration principal est repositionné côté backend pour un usage opérationnel plus clair.

Édition des auteurs dans le formulaire d’article

  • La suppression d’auteur n’appelle plus l’API delete quand le lien article-auteur n’a pas encore été persisté.
  • Les invalidations de cache/requêtes liées aux mutations d’auteurs sont renforcées.

Couverture de tests

  • Des tests frontend/backend supplémentaires couvrent le contrat oaId, les utilitaires de transformation et les flux API.
  • Les tests du formulaire et des composants auteurs couvrent les cas de création/suppression et les états en attente.

Notes relecteurs

  • Migration requise : appliquer les scripts de migration + validateurs avant déploiement complet.

Plan de test manuel

Prérequis

  • Environnement local lancé (backend + frontend)
  • Base avec articles/auteurs existants
  • Migrations et validateurs appliqués

Happy path article/auteur

  • Ouvrir un article existant, vérifier affichage correct des auteurs
  • Ajouter un auteur depuis la base interne, sauvegarder, recharger, vérifier persistance
  • Ajouter un auteur depuis OpenAlex, sauvegarder, recharger, vérifier persistance
  • Ajouter un auteur manuel, sauvegarder, recharger, vérifier persistance
  • Supprimer un auteur existant, sauvegarder, recharger, vérifier suppression effective

Cas d’erreur et permissions

  • Simuler un 401 sur mutation auteur/article, vérifier message d’erreur utilisateur
  • Simuler un 403, vérifier blocage sans corruption de l’état local
  • Simuler un 409 sur mise à jour d’auteurs, vérifier message + absence d’état incohérent

Régressions clés

  • Import d’un article OpenAlex : vérifier mapping snapshots/topics avec oaId
  • Recherche/listes articles et auteurs : vérifier absence de régression d’affichage
  • Vérifier disparition du badge “modifié manuellement” incorrect dans les cas attendus

Optionnel

  • Exécuter les suites de tests frontend/backend ciblées pour confirmer la non-régression technique

Merge request reports

Loading