Skip to content

fix: bug 3528 filtre de dates plante après rechargement de la page - #1364

Merged
Kyungtaek-KIM-APHP merged 4 commits into
developfrom
fix/plante-apres-rechargement-de-la-page
Sep 30, 2026
Merged

Kyungtaek-KIM-APHP merged 4 commits into
developfrom
fix/plante-apres-rechargement-de-la-page

Conversation

@Kyungtaek-KIM-APHP

Copy link
Copy Markdown
Collaborator

Objectif

Sur « Mes projets », après avoir appliqué un filtre de dates puis rechargé la page, le sélecteur de dates ne s'ouvre plus TypeError: isValid is not a function). Les dates relues depuis l'URL sont du texte, alors que le picker (AdapterMoment) attend un objet Moment.

Changements réalisés

  • DatePicker : conversion du texte YYYY-MM-DD en Moment pour le picker, puis retour en texte (ou null si la date est invalide) vers le parent. Suppression des casts as any qui masquaient l'erreur de typage.
  • Ajout d'un test de non-régression MenuButtonFilter.test.tsx.

Impacts

Front

Tests réalisés

  • Unitaires : 2 tests. Ils échouent sur l'ancien code avec la même erreur et passent avec le correctif.
  • tsc et eslint : aucune erreur.
  • Manuel : scénario du ticket rejoué (dates → Appliquer → F5 → réouverture du filtre). Le sélecteur s'ouvre avec les dates.

Risques

  • Faibles. Une date invalide saisie dans le champ retire désormais le filtre de l'URL, au lieu d'y écrire une valeur vide.

@Kyungtaek-KIM-APHP Kyungtaek-KIM-APHP self-assigned this Sep 29, 2026
@Kyungtaek-KIM-APHP
Kyungtaek-KIM-APHP requested review from a team as code owners September 29, 2026 15:24

@cesar-richard cesar-richard left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plutôt d'acc sur le fond, le fix est au bon endroit et garder un Moment en interne pour ne pas perdre une saisie en cours se tient. Quelques remarques en ligne, la plus importante c'est sur les tests : ils passent un peu à côté de ce qu'ils vérifient.

Deux trucs qui ne s'ancrent nulle part dans le diff :

  • dans MyResearches, handleDateChange revalide et reformate une date qui arrive maintenant déjà propre, un searchParams.set(key, date) suffit
  • CalendarInput fait déjà cette conversion string / Moment, il pourra passer sur le même helper (pas forcément dans cette PR)

Comment thread src/components/Researches/DatePicker/index.tsx Outdated
Comment thread src/components/Researches/DatePicker/index.tsx Outdated
Comment thread src/components/Researches/DatePicker/index.tsx Outdated
Comment thread src/components/Researches/DatePicker/index.tsx Outdated
Comment thread src/components/Researches/DatePicker/index.tsx Outdated
Comment thread src/__tests__/components/MenuButtonFilter.test.tsx Outdated
Comment thread src/__tests__/components/MenuButtonFilter.test.tsx
- ISO_DATE_FORMAT et toIsoDate dans utils/dates
- DatePicker : value renommé en defaultValue, onClear supprimé
- tests : vérifie les dates affichées et la date choisie renvoyée en string
@Kyungtaek-KIM-APHP
Kyungtaek-KIM-APHP force-pushed the fix/plante-apres-rechargement-de-la-page branch from a770715 to b8425de Compare September 30, 2026 12:09
@sonarqubecloud

Copy link
Copy Markdown

@Kyungtaek-KIM-APHP
Kyungtaek-KIM-APHP merged commit 26d6e12 into develop Sep 30, 2026
11 checks passed
@Kyungtaek-KIM-APHP
Kyungtaek-KIM-APHP deleted the fix/plante-apres-rechargement-de-la-page branch September 30, 2026 14:18
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.

2 participants