- Corriger règle 1.4 : appliquer logique standard de classification par âge (13-15 ans: Tout public + 13+, 16-17 ans: + 16+, 18+: tous) - Mettre à jour classification-age.feature avec nouvelles règles de diffusion - Mettre à jour inscription.feature pour cohérence avec classification - Ajouter gestion-compte.feature avec 28 scénarios (déconnexion, changement mot de passe, changement email, changement pseudo, consultation compte)
200 lines
9.0 KiB
Gherkin
200 lines
9.0 KiB
Gherkin
# language: fr
|
|
Fonctionnalité: Gestion de compte utilisateur
|
|
En tant qu'utilisateur connecté
|
|
Je veux gérer les paramètres de mon compte
|
|
Afin de maintenir la sécurité et l'exactitude de mes informations
|
|
|
|
Contexte:
|
|
Étant donné que l'API RoadWave est disponible
|
|
Et que je suis connecté avec:
|
|
| email | user@test.fr |
|
|
| mot_de_passe | Password123 |
|
|
|
|
# ==========================================
|
|
# Déconnexion
|
|
# ==========================================
|
|
|
|
Scénario: Déconnexion volontaire de l'appareil actuel
|
|
Quand je clique sur "Se déconnecter"
|
|
Alors ma session est invalidée immédiatement
|
|
Et mon refresh token est révoqué
|
|
Et je suis redirigé vers l'écran de connexion
|
|
Et je dois me reconnecter pour accéder à l'application
|
|
|
|
Scénario: Déconnexion ne révoque pas les autres appareils
|
|
Étant donné que je suis connecté sur mon iPhone et mon iPad
|
|
Quand je me déconnecte depuis mon iPhone
|
|
Alors la session iPhone est invalidée
|
|
Et ma session iPad reste active
|
|
Et je peux continuer à utiliser l'application sur iPad
|
|
|
|
# ==========================================
|
|
# Changement de mot de passe
|
|
# ==========================================
|
|
|
|
Scénario: Changement de mot de passe avec ancien mot de passe correct
|
|
Quand je change mon mot de passe depuis les paramètres avec:
|
|
| ancien_mot_de_passe | Password123 |
|
|
| nouveau_mot_de_passe | NewPass456 |
|
|
| confirmation | NewPass456 |
|
|
Alors mon mot de passe est modifié avec succès
|
|
Et je reste connecté sur cet appareil
|
|
Et tous les autres appareils sont déconnectés
|
|
Et je reçois un email de confirmation de changement
|
|
Et je vois le message "Mot de passe modifié avec succès"
|
|
|
|
Scénario: Changement de mot de passe avec ancien mot de passe incorrect
|
|
Quand je change mon mot de passe avec un ancien mot de passe incorrect "WrongPass123"
|
|
Alors le changement échoue
|
|
Et je vois le message "Ancien mot de passe incorrect"
|
|
Et mon mot de passe actuel reste inchangé
|
|
|
|
Scénario: Changement de mot de passe avec nouveau mot de passe invalide
|
|
Quand je change mon mot de passe avec un nouveau mot de passe "faible"
|
|
Alors le changement échoue
|
|
Et je vois le message "Le mot de passe doit contenir au moins 8 caractères, 1 majuscule et 1 chiffre"
|
|
|
|
Scénario: Changement de mot de passe avec confirmation non correspondante
|
|
Quand je change mon mot de passe avec:
|
|
| ancien_mot_de_passe | Password123 |
|
|
| nouveau_mot_de_passe | NewPass456 |
|
|
| confirmation | DiffPass789 |
|
|
Alors le changement échoue
|
|
Et je vois le message "Les mots de passe ne correspondent pas"
|
|
|
|
Scénario: Nouveau mot de passe identique à l'ancien
|
|
Quand je change mon mot de passe avec:
|
|
| ancien_mot_de_passe | Password123 |
|
|
| nouveau_mot_de_passe | Password123 |
|
|
| confirmation | Password123 |
|
|
Alors le changement échoue
|
|
Et je vois le message "Le nouveau mot de passe doit être différent de l'ancien"
|
|
|
|
Scénario: Notification sur tous les appareils après changement de mot de passe
|
|
Étant donné que je suis connecté sur 3 appareils différents
|
|
Quand je change mon mot de passe depuis mon iPhone
|
|
Alors je reçois une notification push sur mes 2 autres appareils
|
|
Et je reçois un email de confirmation avec:
|
|
| sujet | Votre mot de passe a été modifié |
|
|
| appareil | iPhone 13 - Safari |
|
|
| localisation | Paris, France |
|
|
| action_urgence | Lien pour sécuriser le compte |
|
|
|
|
# ==========================================
|
|
# Changement d'email
|
|
# ==========================================
|
|
|
|
Scénario: Changement d'email avec vérification
|
|
Quand je change mon email pour "nouveau@test.fr"
|
|
Alors un email de vérification est envoyé à "nouveau@test.fr"
|
|
Et mon ancien email "user@test.fr" reste actif pour la connexion
|
|
Et je vois le message "Email de vérification envoyé à nouveau@test.fr"
|
|
Et le lien de vérification expire dans 7 jours
|
|
|
|
Scénario: Validation du changement d'email
|
|
Étant donné que j'ai demandé un changement d'email pour "nouveau@test.fr"
|
|
Et que j'ai reçu le lien de vérification
|
|
Quand je clique sur le lien de vérification dans l'email
|
|
Alors mon email est changé pour "nouveau@test.fr"
|
|
Et je reçois une notification sur l'ancien email "user@test.fr"
|
|
Et je vois le message "Email modifié avec succès"
|
|
Et je dois utiliser "nouveau@test.fr" pour me connecter désormais
|
|
|
|
Scénario: Changement d'email vers un email déjà utilisé
|
|
Étant donné qu'un utilisateur existe avec l'email "existant@test.fr"
|
|
Quand j'essaie de changer mon email pour "existant@test.fr"
|
|
Alors le changement échoue
|
|
Et je vois le message "Cet email est déjà utilisé par un autre compte"
|
|
|
|
Scénario: Changement d'email avec format invalide
|
|
Quand j'essaie de changer mon email pour "email.invalide"
|
|
Alors le changement échoue
|
|
Et je vois le message "Format d'email invalide"
|
|
|
|
Scénario: Expiration du lien de vérification de changement d'email
|
|
Étant donné que j'ai demandé un changement d'email il y a 8 jours
|
|
Quand j'essaie d'utiliser le lien de vérification
|
|
Alors la vérification échoue
|
|
Et je vois le message "Ce lien a expiré"
|
|
Et mon email reste inchangé à "user@test.fr"
|
|
Et je peux demander un nouveau changement d'email
|
|
|
|
Scénario: Annulation du changement d'email avant vérification
|
|
Étant donné que j'ai demandé un changement d'email pour "nouveau@test.fr"
|
|
Et que je n'ai pas encore vérifié le nouveau email
|
|
Quand je demande à annuler le changement d'email
|
|
Alors la demande de changement est annulée
|
|
Et le lien de vérification est invalidé
|
|
Et mon email reste "user@test.fr"
|
|
|
|
Scénario: Limite de changements d'email
|
|
Étant donné que j'ai déjà changé mon email 2 fois dans les 30 derniers jours
|
|
Quand j'essaie de changer mon email une 3ème fois
|
|
Alors le changement échoue
|
|
Et je vois le message "Maximum 2 changements d'email par mois"
|
|
|
|
Scénario: Notification de sécurité sur l'ancien email
|
|
Étant donné que j'ai changé mon email de "ancien@test.fr" à "nouveau@test.fr"
|
|
Alors je reçois un email sur "ancien@test.fr" avec:
|
|
| sujet | Votre adresse email a été modifiée |
|
|
| contenu | Votre email de connexion est maintenant nouveau@test.fr |
|
|
| date_heure | présente |
|
|
| appareil | présent |
|
|
| action_urgence | Lien pour annuler si ce n'était pas vous |
|
|
|
|
# ==========================================
|
|
# Changement de pseudo
|
|
# ==========================================
|
|
|
|
Scénario: Changement de pseudo valide
|
|
Quand je change mon pseudo pour "nouveau_pseudo"
|
|
Alors mon pseudo est modifié avec succès
|
|
Et je vois le message "Pseudo modifié avec succès"
|
|
Et le nouveau pseudo apparaît sur mon profil
|
|
|
|
Scénario: Changement de pseudo invalide - trop court
|
|
Quand j'essaie de changer mon pseudo pour "ab"
|
|
Alors le changement échoue
|
|
Et je vois le message "Le pseudo doit contenir entre 3 et 30 caractères"
|
|
|
|
Scénario: Changement de pseudo invalide - caractères spéciaux
|
|
Quand j'essaie de changer mon pseudo pour "user@123"
|
|
Alors le changement échoue
|
|
Et je vois le message "Le pseudo ne peut contenir que des lettres, chiffres et underscores"
|
|
|
|
Scénario: Changement de pseudo déjà utilisé
|
|
Étant donné qu'un utilisateur existe avec le pseudo "pseudo_existant"
|
|
Quand j'essaie de changer mon pseudo pour "pseudo_existant"
|
|
Alors le changement échoue
|
|
Et je vois le message "Ce pseudo est déjà utilisé"
|
|
|
|
Scénario: Limite de changements de pseudo
|
|
Étant donné que j'ai changé mon pseudo il y a 15 jours
|
|
Quand j'essaie de changer mon pseudo à nouveau
|
|
Alors le changement échoue
|
|
Et je vois le message "Vous ne pouvez changer votre pseudo qu'une fois par mois"
|
|
|
|
# ==========================================
|
|
# Consultation des informations de compte
|
|
# ==========================================
|
|
|
|
Scénario: Consulter les informations de mon compte
|
|
Quand je consulte les paramètres de mon compte
|
|
Alors je vois les informations suivantes:
|
|
| champ | valeur |
|
|
| Email | user@test.fr |
|
|
| Pseudo | user_test |
|
|
| Date création | 15/01/2026 |
|
|
| Email vérifié | Oui |
|
|
| 2FA activée | Non |
|
|
| Abonnement | Gratuit |
|
|
|
|
Scénario: Historique des changements de sécurité
|
|
Quand je consulte l'historique de sécurité de mon compte
|
|
Alors je vois la liste des événements suivants:
|
|
| événement | date | appareil |
|
|
| Changement mot de passe | 01/02/2026 | iPhone 13 |
|
|
| Activation 2FA | 25/01/2026 | iPad Pro |
|
|
| Changement email | 20/01/2026 | PC Windows |
|
|
| Création compte | 15/01/2026 | iPhone 13 |
|