# language: fr
Fonctionnalité: Inscription utilisateur
  En tant que nouvel utilisateur
  Je veux créer un compte avec email et mot de passe
  Afin d'accéder à l'application RoadWave

  Contexte:
    Étant donné que l'API RoadWave est disponible
    Et que Zitadel est configuré

  Scénario: Inscription réussie avec données valides
    Étant donné que l'email "nouveau@example.com" n'existe pas
    Quand je m'inscris avec les données suivantes:
      | champ           | valeur              |
      | email           | nouveau@example.com |
      | mot_de_passe    | Password123         |
      | pseudo          | nouveau_user        |
      | date_naissance  | 1995-06-15          |
    Alors mon compte est créé avec succès
    Et je reçois un email de vérification
    Et le lien de vérification expire dans 7 jours
    Et je suis redirigé vers l'application

  Scénario: Inscription avec email déjà existant
    Étant donné qu'un utilisateur existe avec l'email "existant@example.com"
    Quand je m'inscris avec l'email "existant@example.com"
    Alors l'inscription échoue
    Et je vois le message "Cet email est déjà utilisé"

  Scénario: Inscription avec mot de passe invalide - trop court
    Quand je m'inscris avec un mot de passe de moins de 8 caractères "Pass1"
    Alors l'inscription échoue
    Et je vois le message "Le mot de passe doit contenir au moins 8 caractères"

  Scénario: Inscription avec mot de passe invalide - sans majuscule
    Quand je m'inscris avec un mot de passe sans majuscule "password123"
    Alors l'inscription échoue
    Et je vois le message "Le mot de passe doit contenir au moins une majuscule"

  Scénario: Inscription avec mot de passe invalide - sans chiffre
    Quand je m'inscris avec un mot de passe sans chiffre "Password"
    Alors l'inscription échoue
    Et je vois le message "Le mot de passe doit contenir au moins un chiffre"

  Scénario: Inscription avec pseudo invalide - trop court
    Quand je m'inscris avec un pseudo de 2 caractères "ab"
    Alors l'inscription échoue
    Et je vois le message "Le pseudo doit contenir entre 3 et 30 caractères"

  Scénario: Inscription avec pseudo invalide - caractères spéciaux
    Quand je m'inscris avec un pseudo contenant des caractères spéciaux "user@123"
    Alors l'inscription échoue
    Et je vois le message "Le pseudo ne peut contenir que des lettres, chiffres et underscores"

  Scénario: Inscription avec email invalide
    Quand je m'inscris avec un email invalide "email.invalide"
    Alors l'inscription échoue
    Et je vois le message "Format d'email invalide"

  Plan du Scénario: Inscription avec âge minimum non respecté
    Étant donné la date du jour est "2026-01-21"
    Quand je m'inscris avec une date de naissance "<date_naissance>"
    Alors l'inscription échoue
    Et je vois le message "Vous devez avoir au moins 13 ans pour créer un compte"

    Exemples:
      | date_naissance | age |
      | 2013-01-22     | 12  |
      | 2015-06-15     | 10  |
      | 2020-01-01     | 6   |

  Scénario: Inscription avec âge limite acceptable (13 ans)
    Étant donné la date du jour est "2026-01-21"
    Quand je m'inscris avec une date de naissance "2013-01-21"
    Alors mon compte est créé avec succès
    Et je peux accéder aux contenus "Tout public" et "13+"

  Scénario: Inscription avec âge supérieur à 18 ans
    Étant donné la date du jour est "2026-01-21"
    Quand je m'inscris avec une date de naissance "1990-06-15"
    Alors mon compte est créé avec succès
    Et j'ai accès à tous les contenus sans restriction d'âge

  Scénario: Données minimales requises à l'inscription
    Quand je m'inscris sans fournir de nom complet
    Et sans fournir de photo de profil
    Et sans fournir de bio
    Alors mon compte est créé avec succès
    Et un avatar par défaut est généré
    Et les champs optionnels sont vides

  Scénario: Renvoyer l'email de vérification
    Étant donné que je me suis inscrit avec l'email "nouveau@example.com"
    Et que je n'ai pas vérifié mon email
    Quand je demande à renvoyer l'email de vérification
    Alors un nouvel email de vérification est envoyé
    Et le précédent lien est invalidé

  Scénario: Limite de renvoi d'email de vérification
    Étant donné que je me suis inscrit avec l'email "nouveau@example.com"
    Et que j'ai déjà renvoyé l'email de vérification 3 fois aujourd'hui
    Quand je demande à renvoyer l'email de vérification une 4ème fois
    Alors la demande échoue
    Et je vois le message "Vous avez atteint la limite de 3 renvois par jour"

  Scénario: Expiration du lien de vérification
    Étant donné que je me suis inscrit il y a 8 jours
    Et que je n'ai pas vérifié mon email
    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 je peux demander un nouveau lien
