[Mineur] Rôles d'event : « Any » exposé et retirable, doublons en 422 trompeur #128

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

Gravité : Mineur
Rapports QA d'origine : EVENTS-07, EVENTS-13

Détails des rapports

[EVENTS-07] `GET /api/events/roles` renvoie le rôle réservé "Any" malgré la doc OpenAPI — Gravité : Cosmétique
  • Obtenu : la liste contient Any ; la doc (ListEventRolesEndpoint.cs:26) dit "The implicit Any role is excluded". ListEventRolesQuery.cs:9 ne filtre pas. Le composer proposera donc "Any" comme rôle sélectionnable.
  • Statut : confirmé (liste API) ; effet UI à vérifier.
[EVENTS-13] `PUT` sur les rôles : "Any" retirable, inscrits conservant un rôle non offert, doublon -> 422 trompeur — Gravité : Mineur
  • Étapes : event offrant Any/DPS/Heal avec m1=DPS, m3=Any, m2=Heal ; PUT avec eventRoleIds=[Heal].
  • Obtenu : 204 ; l'event n'offre plus que Heal (le rôle implicite "Any" est supprimé) ; m1 et m3 restent inscrits avec DPS/Any (rôles qui ne sont plus offerts) ; plus aucune nouvelle inscription possible avec "Any" (409 EVENTROLE_NOT_OFFERED). Le sélecteur de rôle de RoleChange ne contient plus le rôle actuel de m1/m3.
  • PUT avec eventRoleIds=[Any,DPS,DPS] -> 422 "No event role has the id ''." (message incohérent, doublon traité comme inconnu).
  • Cause probable : UpdateEventCommand.cs:29,47 (roles.Count != req.EventRoleIds.Count, remplacement sans réinjecter Any contrairement à CreateEventCommand.cs:55).

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 :** EVENTS-07, EVENTS-13 ## Détails des rapports <details><summary>[EVENTS-07] `GET /api/events/roles` renvoie le rôle réservé "Any" malgré la doc OpenAPI — Gravité : Cosmétique</summary> - Obtenu : la liste contient `Any` ; la doc (`ListEventRolesEndpoint.cs:26`) dit "The implicit Any role is excluded". `ListEventRolesQuery.cs:9` ne filtre pas. Le composer proposera donc "Any" comme rôle sélectionnable. - Statut : confirmé (liste API) ; effet UI à vérifier. </details> <details><summary>[EVENTS-13] `PUT` sur les rôles : "Any" retirable, inscrits conservant un rôle non offert, doublon -> 422 trompeur — Gravité : Mineur</summary> - Étapes : event offrant Any/DPS/Heal avec m1=DPS, m3=Any, m2=Heal ; `PUT` avec `eventRoleIds=[Heal]`. - Obtenu : 204 ; l'event n'offre plus que `Heal` (le rôle implicite "Any" est supprimé) ; m1 et m3 restent inscrits avec DPS/Any (rôles qui ne sont plus offerts) ; plus aucune nouvelle inscription possible avec "Any" (409 `EVENTROLE_NOT_OFFERED`). Le sélecteur de rôle de `RoleChange` ne contient plus le rôle actuel de m1/m3. - `PUT` avec `eventRoleIds=[Any,DPS,DPS]` -> 422 "No event role has the id ''." (message incohérent, doublon traité comme inconnu). - Cause probable : `UpdateEventCommand.cs:29,47` (`roles.Count != req.EventRoleIds.Count`, remplacement sans réinjecter `Any` contrairement à `CreateEventCommand.cs:55`). </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._
asventi self-assigned this 2026-10-28 13:49:13 +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/backend#128
No description provided.