[Mineur] Validations de formulaire incohérentes avec l'API #161

Closed
opened 2026-10-28 10:32:32 +00:00 by asventi · 0 comments
Owner

Gravité : Mineur
Rapports QA d'origine : AUTH-20, PROFILE-11

Mot de passe de 256 caractères accepté par l'UI puis refusé avec un message vide ; « Current password » exige 8 caractères. Voir aussi #125.

Détails des rapports

[AUTH-20] Formulaire d'inscription : un mot de passe de 256 caractères est accepté par l'UI mais refusé par l'API, avec un message d'erreur vide — Gravité : Mineur
  • Où : /register
  • Étapes : 1. Remplir username/email/code valides et un mot de passe de 256 caractères (l'input a maxLength={256}). 2. Cliquer Register.
  • Attendu : message d'erreur lisible (ou limite UI alignée sur 255).
  • Obtenu : POST /api/auth/register -> 400 (validation Length(1,255)) ; l'UI affiche un bloc rouge VIDE (la réponse 400 n'a pas de detail, seulement errors).
  • Preuve : screens/auth_14_register_pwd256.png (le bloc d'erreur est vide au-dessus des champs : aucun message visible).
  • Cause probable : frontend/src/auth/components/AuthForm.tsx:138 (256 vs 255) et frontend/src/auth/api/auth.ts:72-76 + auth/routes/register.tsx:45-47 (n'affiche que detail, jamais errors).
[PROFILE-11] Champ "Current password" limité à minLength=8 : un utilisateur dont le mot de passe actuel fait < 8 caractères ne peut pas changer son mot de passe depuis l'UI — Gravité : Mineur
  • Où : Paramètres > Password > crayon
  • Étapes : 1. User dont le mot de passe fait moins de 8 caractères (possible : register et PATCH password acceptent 1 caractère, cf. PROFILE-06). 2. Ouvrir la modale et saisir son mot de passe actuel.
  • Attendu : champ "mot de passe actuel" sans contrainte de longueur.
  • Obtenu : la validation HTML5 (minlength="8" constaté sur les deux champs) bloque l'envoi.
  • Cause probable : frontend/src/users/components/Profile.tsx:141-143 (minLength={8} sur "Current password").

Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.

**Gravité :** Mineur **Rapports QA d'origine :** AUTH-20, PROFILE-11 Mot de passe de 256 caractères accepté par l'UI puis refusé avec un message vide ; « Current password » exige 8 caractères. Voir aussi #125. ## Détails des rapports <details><summary>[AUTH-20] Formulaire d'inscription : un mot de passe de 256 caractères est accepté par l'UI mais refusé par l'API, avec un message d'erreur vide — Gravité : Mineur</summary> - Où : `/register` - Étapes : 1. Remplir username/email/code valides et un mot de passe de 256 caractères (l'input a `maxLength={256}`). 2. Cliquer Register. - Attendu : message d'erreur lisible (ou limite UI alignée sur 255). - Obtenu : `POST /api/auth/register -> 400` (validation `Length(1,255)`) ; l'UI affiche un bloc rouge VIDE (la réponse 400 n'a pas de `detail`, seulement `errors`). - Preuve : `screens/auth_14_register_pwd256.png` (le bloc d'erreur est vide au-dessus des champs : aucun message visible). - Cause probable : `frontend/src/auth/components/AuthForm.tsx:138` (256 vs 255) et `frontend/src/auth/api/auth.ts:72-76` + `auth/routes/register.tsx:45-47` (n'affiche que `detail`, jamais `errors`). </details> <details><summary>[PROFILE-11] Champ "Current password" limité à minLength=8 : un utilisateur dont le mot de passe actuel fait < 8 caractères ne peut pas changer son mot de passe depuis l'UI — Gravité : Mineur</summary> - Où : Paramètres > Password > crayon - Étapes : 1. User dont le mot de passe fait moins de 8 caractères (possible : register et PATCH password acceptent 1 caractère, cf. PROFILE-06). 2. Ouvrir la modale et saisir son mot de passe actuel. - Attendu : champ "mot de passe actuel" sans contrainte de longueur. - Obtenu : la validation HTML5 (`minlength="8"` constaté sur les deux champs) bloque l'envoi. - Cause probable : `frontend/src/users/components/Profile.tsx:141-143` (`minLength={8}` sur "Current password"). </details> --- _Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes._
dernst self-assigned this 2026-10-30 13:44:28 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transcendence/frontend#161
No description provided.