# language: fr
Fonctionnalité: Validation et modération des publicités
  En tant que modérateur RoadWave
  Je veux valider manuellement toutes les publicités avant diffusion
  Afin de garantir la qualité et la légalité des contenus publicitaires

  Contexte:
    Étant donné que l'API RoadWave est disponible
    Et qu'un modérateur RoadWave est connecté

  Scénario: Validation manuelle obligatoire avant diffusion
    Étant donné qu'un publicitaire a créé une campagne
    Et que le paiement de 300€ a été effectué
    Quand la campagne est soumise
    Alors elle passe en statut "En attente de validation"
    Et elle est ajoutée à la file d'attente des modérateurs
    Et la diffusion ne démarre PAS avant validation manuelle
    Et le publicitaire reçoit un email "Votre campagne est en cours de validation (24-48h)"

  Scénario: Délai de validation 24-48h ouvrées
    Étant donné qu'une campagne est soumise le lundi 10h
    Quand le modérateur la valide le mardi 15h
    Alors le délai est de 29h (dans les 48h ouvrées)
    Et le publicitaire reçoit une notification "Votre campagne est approuvée"

  Scénario: Validation dépassant 48h avec notification
    Étant donné qu'une campagne est soumise le lundi 10h
    Quand 48h ouvrées se sont écoulées
    Et que la campagne n'est toujours pas validée
    Alors le publicitaire reçoit un email automatique:
      """
      Validation en cours - Délai prolongé

      Votre campagne nécessite une analyse approfondie.
      Nous vous contacterons sous 24h supplémentaires.
      """
    Et un modérateur senior est assigné automatiquement

  Scénario: Acceptation de campagne publicitaire
    Étant donné qu'une campagne est en attente de validation
    Et que l'audio respecte toutes les règles
    Quand le modérateur clique sur "Approuver"
    Alors le statut passe à "Approuvée"
    Et la campagne démarre à la date programmée
    Et le publicitaire reçoit un email de confirmation
    Et le budget commence à être consommé dès le début

  Scénario: Refus de campagne avec motif détaillé
    Étant donné qu'une campagne contient du contenu alcool
    Quand le modérateur clique sur "Refuser"
    Et qu'il sélectionne le motif "Contenu interdit: Alcool"
    Et qu'il ajoute le commentaire "La publicité pour l'alcool est interdite en France"
    Alors le statut passe à "Refusée"
    Et le publicitaire reçoit un email détaillé avec:
      | Champ           | Valeur                                                 |
      | Motif           | Contenu interdit: Alcool                               |
      | Commentaire     | La publicité pour l'alcool est interdite en France     |
      | Action requise  | Modifier votre contenu et soumettre à nouveau          |
    Et un remboursement automatique de 300€ est déclenché

  Scénario: Remboursement automatique après refus
    Étant donné qu'une campagne à 500€ est refusée
    Quand le statut passe à "Refusée"
    Alors un remboursement Mangopay de 500€ est initié automatiquement
    Et le délai de remboursement est de 5-7 jours ouvrés
    Et le publicitaire reçoit un email "Remboursement en cours"

  Scénario: Contenus interdits - Alcool
    Étant donné qu'une publicité mentionne "Whisky premium 40°"
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Alcool"
    Car la publicité pour l'alcool est interdite en France

  Scénario: Contenus interdits - Tabac
    Étant donné qu'une publicité mentionne "Cigarettes électroniques"
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Tabac/Vape"
    Car la publicité pour le tabac et dérivés est interdite

  Scénario: Contenus interdits - Jeux d'argent
    Étant donné qu'une publicité mentionne "Gagnez 10 000€ - Paris sportifs"
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Jeux d'argent"
    Car la publicité pour les jeux d'argent est soumise à régulation stricte

  Scénario: Contenus interdits - Politique pendant campagne électorale
    Étant donné qu'une publicité politique est soumise
    Et que nous sommes en période de campagne électorale officielle
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Publicité politique (période électorale)"

  Scénario: Contenus interdits - Contenu sexuel
    Étant donné qu'une publicité contient des propos sexuellement explicites
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Contenu sexuel"

  Scénario: Contenus interdits - Violence
    Étant donné qu'une publicité contient des descriptions violentes
    Quand le modérateur écoute l'audio
    Alors il doit refuser la campagne
    Et sélectionner le motif "Contenu interdit: Violence"

  Scénario: Contenu légal autorisé - Commerce local
    Étant donné qu'une publicité pour un restaurant local dit "Découvrez notre menu du jour"
    Quand le modérateur écoute l'audio
    Alors il doit approuver la campagne
    Car le contenu est légal et conforme

  Scénario: Contenu légal autorisé - Service professionnel
    Étant donné qu'une publicité pour un garage dit "Révision complète à partir de 99€"
    Quand le modérateur écoute l'audio
    Alors il doit approuver la campagne
    Car le contenu est légal et informatif

  Scénario: Critères de validation - Qualité audio
    Étant donné qu'une publicité a une qualité audio très basse (bruits, saturation)
    Quand le modérateur écoute l'audio
    Alors il peut refuser avec le motif "Qualité audio insuffisante"
    Et recommander "Veuillez soumettre un fichier audio de meilleure qualité"

  Scénario: Critères de validation - Classification d'âge correcte
    Étant donné qu'une publicité contient du langage familier
    Et qu'elle est classée "Tout public"
    Quand le modérateur écoute l'audio
    Alors il peut refuser avec le motif "Classification d'âge incorrecte"
    Et recommander "Reclasser en 13+ minimum"

  Scénario: Critères de validation - Respect réglementation française
    Étant donné qu'une publicité fait des promesses mensongères "Perdez 10kg en 1 semaine"
    Quand le modérateur écoute l'audio
    Alors il doit refuser avec le motif "Non-conformité réglementaire: Publicité mensongère"
    Car cela viole la réglementation sur la publicité trompeuse

  Scénario: File d'attente modération priorisée
    Étant donné que 10 campagnes sont en attente de validation
    Et que la campagne A a été soumise il y a 40h
    Et que la campagne B a été soumise il y a 2h
    Quand le modérateur consulte sa file
    Alors la campagne A apparaît en premier (priorité temporelle)
    Et un badge "Urgente - >40h" est affiché

  Scénario: Dashboard modération - Vue d'ensemble
    Étant donné que je suis modérateur
    Quand j'accède au dashboard modération publicités
    Alors je vois:
      | Métrique                       | Exemple valeur |
      | Campagnes en attente           | 5              |
      | Délai moyen de validation      | 28h            |
      | Campagnes validées aujourd'hui | 12             |
      | Campagnes refusées aujourd'hui | 3              |
      | Taux d'acceptation             | 80%            |

  Scénario: Transcription automatique pour aide modération
    Étant donné qu'une publicité audio est soumise
    Quand le système traite l'audio
    Alors une transcription automatique est générée via Whisper
    Et elle est affichée au modérateur pour faciliter la revue
    Et elle permet une recherche par mots-clés (alcool, tabac, etc.)

  Scénario: Détection automatique mots-clés interdits
    Étant donné qu'une publicité audio est soumise
    Quand la transcription contient "whisky" ou "vodka"
    Alors un flag automatique "⚠️ Alcool détecté" est ajouté
    Et la campagne est priorisée pour validation manuelle rapide
    Et le modérateur est alerté du contenu potentiellement interdit

  Scénario: Historique modération publicitaire
    Étant donné qu'un publicitaire a eu 2 campagnes refusées
    Quand il soumet une 3ème campagne
    Alors le modérateur voit l'historique:
      | Date       | Statut  | Motif                    |
      | 2026-01-15 | Refusée | Contenu interdit: Alcool |
      | 2026-01-20 | Refusée | Qualité audio faible     |
    Et il peut en tenir compte dans sa décision

  Scénario: Appel possible après refus
    Étant donné que ma campagne a été refusée pour "Classification incorrecte"
    Quand je conteste la décision via le formulaire d'appel
    Alors un modérateur senior revoit la campagne
    Et il peut approuver si la classification est en fait correcte
    Et le délai de réponse est de 48-72h

  Scénario: Notification temps réel pour modérateurs
    Étant donné que je suis modérateur connecté
    Quand une nouvelle campagne est soumise
    Alors je reçois une notification in-app
    Et le compteur "Campagnes en attente" s'incrémente en temps réel
    Et je peux cliquer pour consulter immédiatement

  Scénario: Statistiques conformité par catégorie
    Étant donné que je suis admin modération
    Quand je consulte les statistiques mensuelles
    Alors je vois les motifs de refus:
      | Motif                  | Nombre | Pourcentage |
      | Alcool                 | 15     | 30%         |
      | Qualité audio          | 12     | 24%         |
      | Classification erronée | 10     | 20%         |
      | Publicité mensongère   | 8      | 16%         |
      | Autres                 | 5      | 10%         |

  Scénario: Export rapport modération
    Étant donné que je suis modérateur senior
    Quand j'exporte le rapport mensuel
    Alors je reçois un fichier CSV avec:
      | Colonne            |
      | Campagne ID        |
      | Publicitaire       |
      | Date soumission    |
      | Date décision      |
      | Statut             |
      | Motif (si refus)   |
      | Modérateur         |
    Et je peux l'analyser dans Excel

  Scénario: Validation partielle avec demande modification
    Étant donné qu'une campagne a un contenu acceptable
    Mais que la classification d'âge est incorrecte
    Quand le modérateur clique sur "Demander modification"
    Alors le publicitaire reçoit un email:
      """
      Modification requise

      Votre campagne nécessite un ajustement:
      - Reclasser de "Tout public" à "13+"

      Veuillez modifier et soumettre à nouveau.
      Budget conservé, pas de remboursement.
      """
    Et le statut devient "Modification requise"
    Et le publicitaire peut modifier sans repayer

  Plan du Scénario: Contenus interdits automatiquement détectés
    Étant donné qu'une publicité contient le mot <mot_cle>
    Quand la transcription automatique est analysée
    Alors un flag <flag> est ajouté
    Et le motif de refus suggéré est <motif>

    Exemples:
      | mot_cle         | flag            | motif                    |
      | whisky          | ⚠️ Alcool       | Contenu interdit: Alcool |
      | vodka           | ⚠️ Alcool       | Contenu interdit: Alcool |
      | cigarette       | ⚠️ Tabac        | Contenu interdit: Tabac  |
      | casino          | ⚠️ Jeux argent  | Contenu interdit: Jeux   |
      | paris sportifs  | ⚠️ Jeux argent  | Contenu interdit: Jeux   |

  Plan du Scénario: Délais de validation selon soumission
    Étant donné qu'une campagne est soumise <jour> à <heure>
    Quand elle est validée <delai> heures plus tard
    Alors le statut est <conformite>

    Exemples:
      | jour    | heure | delai | conformite              |
      | Lundi   | 10h   | 24    | Dans les délais (24h)   |
      | Lundi   | 10h   | 48    | Dans les délais (48h)   |
      | Lundi   | 10h   | 50    | Hors délais (>48h)      |
      | Vendredi| 16h   | 72    | Dans les délais (we)    |
