# language: fr
Fonctionnalité: Gestion du budget et alertes publicitaires
  En tant que publicitaire
  Je veux suivre en temps réel mon budget et recevoir des alertes
  Afin de maîtriser mes dépenses et optimiser mes campagnes

  Contexte:
    Étant donné que l'API RoadWave est disponible
    Et qu'un compte publicitaire est connecté
    Et qu'une campagne active est en cours

  Scénario: Dashboard budget temps réel
    Étant donné que ma campagne a un budget de 300€
    Et que j'ai consommé 220€
    Quand je consulte le dashboard budget
    Alors je vois:
      | Métrique         | Valeur        |
      | Budget total     | 300€          |
      | Budget consommé  | 220€          |
      | Budget restant   | 80€           |
      | Pourcentage      | 73% consommé  |

  Scénario: Jauge visuelle budget consommé
    Étant donné que j'ai consommé 220€ sur 300€
    Quand je consulte le dashboard
    Alors une jauge de progression affiche 73%
    Et la couleur est orange (seuil 50-80%)
    Et un indicateur "80€ restants" est affiché clairement

  Scénario: Couleur jauge selon seuil
    Étant donné un budget de 300€
    Quand j'ai consommé 150€ (50%)
    Alors la jauge est verte
    Quand j'ai consommé 240€ (80%)
    Alors la jauge est orange
    Quand j'ai consommé 285€ (95%)
    Alors la jauge est rouge
    Et un message "Budget presque épuisé" s'affiche

  Scénario: Projection épuisement budget
    Étant donné que j'ai consommé 220€ en 10 jours
    Et qu'il reste 4 jours de campagne
    Quand le système calcule la projection
    Alors la consommation quotidienne moyenne est 22€/jour
    Et la projection affiche "Budget épuisé dans 3.6 jours"
    Et un avertissement "Campagne s'arrêtera avant la fin prévue" s'affiche

  Scénario: Projection avec budget suffisant
    Étant donné que j'ai consommé 100€ en 10 jours
    Et qu'il reste 4 jours de campagne
    Et que le budget total est 300€
    Quand le système calcule la projection
    Alors la consommation quotidienne moyenne est 10€/jour
    Et la projection affiche "Budget suffisant pour toute la campagne"
    Et le budget restant estimé à la fin est 160€

  Scénario: Alerte 80% budget consommé
    Étant donné que mon budget est de 300€
    Quand je consomme 240€ (80%)
    Alors je reçois immédiatement un email:
      """
      ⚠️ Alerte Budget - 80% consommé

      Campagne: [Nom]
      Budget consommé: 240€ / 300€
      Budget restant: 60€

      À ce rythme, votre budget sera épuisé dans X jours.
      Recommandation: Envisagez une recharge pour maintenir la diffusion.
      """
    Et une notification push est envoyée
    Et une notification in-app s'affiche

  Scénario: Alerte 90% budget consommé
    Étant donné que mon budget est de 300€
    Quand je consomme 270€ (90%)
    Alors je reçois immédiatement un email:
      """
      🚨 Alerte Budget - 90% consommé

      Campagne: [Nom]
      Budget consommé: 270€ / 300€
      Budget restant: 30€

      ATTENTION: Votre campagne s'arrêtera sous peu.
      Actions possibles:
      - Recharger le budget
      - Laisser la campagne se terminer
      """

  Scénario: Alerte budget épuisé (100%)
    Étant donné que mon budget est de 300€
    Quand je consomme les 300€ (100%)
    Alors je reçois immédiatement un email:
      """
      ✅ Campagne terminée - Budget épuisé

      Campagne: [Nom]
      Budget consommé: 300€
      Durée effective: 12 jours (sur 14 prévus)

      Métriques finales:
      - Impressions: 6000
      - Écoutes complètes: 4000 (67%)
      - Coût par écoute: 0.05€

      Voir le rapport complet: [Lien]
      Créer une nouvelle campagne: [Lien]
      """
    Et la campagne est automatiquement mise en pause
    Et plus aucune diffusion ne se produit

  Scénario: Pause manuelle de campagne
    Étant donné que ma campagne est active
    Et qu'il reste 150€ de budget
    Quand je clique sur "Mettre en pause"
    Alors le statut passe à "En pause"
    Et les diffusions s'arrêtent immédiatement
    Et le budget de 150€ est conservé
    Et je peux réactiver la campagne plus tard

  Scénario: Reprise campagne pausée
    Étant donné que ma campagne est en pause
    Et qu'il reste 150€ de budget
    Quand je clique sur "Reprendre la campagne"
    Alors le statut passe à "Active"
    Et les diffusions reprennent immédiatement
    Et le budget restant de 150€ continue de se consommer

  Scénario: Prolongation campagne avec recharge
    Étant donné que ma campagne se termine dans 2 jours
    Et qu'il reste 20€ de budget
    Quand je clique sur "Prolonger la campagne"
    Et que j'ajoute 200€ supplémentaires
    Alors le budget total passe à 220€
    Et la date de fin peut être prolongée de 10 jours
    Et un nouveau paiement Mangopay de 200€ est traité

  Scénario: Recharge automatique activée
    Étant donné que j'ai configuré la recharge automatique
    Et que le seuil est fixé à 10% (30€ sur budget 300€)
    Et que le montant de recharge est 100€
    Quand le budget restant passe sous 30€
    Alors une recharge automatique de 100€ est déclenchée
    Et ma carte bancaire est débitée via Mangopay
    Et le budget total passe à budget_restant + 100€
    Et je reçois un email de confirmation

  Scénario: Échec recharge automatique (carte expirée)
    Étant donné que la recharge automatique est activée
    Et que ma carte bancaire a expiré
    Quand le budget passe sous le seuil de 10%
    Alors la recharge automatique échoue
    Et je reçois un email urgent:
      """
      ❌ Échec recharge automatique

      Votre carte bancaire a été refusée.
      Raison probable: carte expirée ou fonds insuffisants

      Action requise: Mettez à jour vos informations de paiement
      Campagne en pause si budget épuisé: [Lien]
      """
    Et la campagne continue jusqu'à épuisement du budget restant

  Scénario: Modification ciblage si budget <50% consommé
    Étant donné que j'ai consommé 120€ sur 300€ (40%)
    Quand j'essaie de modifier le ciblage géographique
    Alors la modification est autorisée
    Et le ciblage est mis à jour immédiatement
    Et les nouvelles diffusions utilisent le nouveau ciblage

  Scénario: Blocage modification ciblage si budget >50% consommé
    Étant donné que j'ai consommé 180€ sur 300€ (60%)
    Quand j'essaie de modifier le ciblage géographique
    Alors une erreur s'affiche:
      """
      Modification bloquée - Budget >50% consommé

      Les modifications de ciblage ne sont autorisées que si moins de 50% du budget est consommé.
      Raison: Cohérence des métriques et analytics.

      Options:
      - Créer une nouvelle campagne avec le nouveau ciblage
      - Laisser cette campagne se terminer
      """

  Scénario: Modification audio nécessite nouvelle validation
    Étant donné que ma campagne est active
    Quand je veux modifier le fichier audio
    Alors un message s'affiche:
      """
      Modification audio = Nouvelle validation

      Changer l'audio nécessite une nouvelle validation manuelle (24-48h).
      Votre campagne sera mise en pause pendant la validation.

      Recommandation: Créer une nouvelle campagne pour tester un nouveau créatif.
      """

  Scénario: Modification plages horaires autorisée
    Étant donné que ma campagne cible 7h-9h et 17h-19h
    Quand je modifie pour cibler 12h-14h aussi
    Alors la modification est appliquée immédiatement
    Et les diffusions suivantes incluent la nouvelle plage
    Et aucune re-validation n'est nécessaire

  Scénario: Historique consommation budget jour par jour
    Étant donné que ma campagne a duré 10 jours
    Quand je consulte l'historique
    Alors je vois un graphique avec:
      | Jour | Consommation | Cumulé |
      | 1    | 22€          | 22€    |
      | 2    | 25€          | 47€    |
      | 3    | 20€          | 67€    |
      | ...  | ...          | ...    |
      | 10   | 18€          | 220€   |
    Et je peux identifier les pics de consommation

  Scénario: Notification fin de campagne programmée
    Étant donné que ma campagne se termine le 14/02
    Quand la date de fin est atteinte
    Alors je reçois un email:
      """
      ✅ Campagne terminée - Date de fin atteinte

      Campagne: [Nom]
      Durée: 14 jours (comme prévu)
      Budget consommé: 280€ / 300€
      Budget non utilisé: 20€

      Métriques finales:
      - Impressions: 5600
      - Écoutes complètes: 3800 (68%)
      - ROI: [Calcul si applicable]

      Le budget non utilisé (20€) sera remboursé sous 5-7 jours.
      """

  Scénario: Remboursement budget non utilisé
    Étant donné que ma campagne avait 300€ de budget
    Et qu'elle s'est terminée avec 280€ consommés
    Quand la campagne se termine (date ou épuisement)
    Alors un remboursement de 20€ est initié via Mangopay
    Et le délai est de 5-7 jours ouvrés
    Et je reçois une notification de confirmation

  Scénario: Aucun remboursement si budget entièrement consommé
    Étant donné que ma campagne avait 300€ de budget
    Et qu'elle s'est terminée avec 300€ consommés
    Quand la campagne se termine
    Alors aucun remboursement n'est initié
    Et le message final indique "Budget entièrement utilisé"

  Scénario: Statistiques comparatives budget vs objectif
    Étant donné que j'avais défini un objectif de 5000 impressions
    Et que mon budget était 300€
    Quand je consulte les statistiques finales
    Alors je vois:
      | Métrique            | Objectif | Réalisé | Écart   |
      | Impressions         | 5000     | 6000    | +20%    |
      | Budget              | 300€     | 280€    | -7%     |
      | Coût/impression     | 0.06€    | 0.047€  | -22%    |
    Et une analyse "✅ Objectifs dépassés avec budget optimisé"

  Scénario: Export rapport financier détaillé
    Étant donné que je veux analyser mes dépenses
    Quand je clique sur "Exporter rapport financier"
    Alors je télécharge un CSV avec:
      | Colonne              |
      | Date/Heure           |
      | Type écoute          |
      | Coût unitaire        |
      | Zone géographique    |
      | Utilisateur (anonyme)|
      | Durée écoutée        |
    Et je peux l'importer dans Excel pour analyses

  Scénario: Tableau de bord multi-campagnes
    Étant donné que j'ai 3 campagnes actives
    Quand je consulte la vue d'ensemble
    Alors je vois un tableau récapitulatif:
      | Campagne | Budget | Consommé | % | Jours restants | Projection |
      | A        | 300€   | 220€     | 73| 4j             | Suffisant  |
      | B        | 500€   | 480€     | 96| 10j            | Épuisé 2j  |
      | C        | 200€   | 50€      | 25| 20j            | Suffisant  |
    Et un badge alerte rouge sur la campagne B

  Scénario: Alerte consolidée multi-campagnes
    Étant donné que j'ai 5 campagnes actives
    Et que 2 campagnes ont >80% budget consommé
    Quand je reçois les notifications
    Alors un email consolidé unique est envoyé:
      """
      ⚠️ Alerte Budget - 2 campagnes nécessitent attention

      Campagne A: 85% consommé, épuisement dans 2j
      Campagne C: 92% consommé, épuisement dans 1j

      Actions recommandées: [Liens]
      """
    Et je ne reçois pas 2 emails séparés (évite spam)

  Scénario: Configuration seuils alertes personnalisés
    Étant donné que je configure mes préférences d'alerte
    Quand je définis les seuils:
      | Seuil | Valeur |
      | Alerte 1 | 70%  |
      | Alerte 2 | 85%  |
      | Alerte 3 | 95%  |
    Alors je reçois des alertes à 70%, 85% et 95%
    Et non aux seuils par défaut 80%, 90%, 100%

  Scénario: Désactivation alertes email
    Étant donné que je préfère uniquement les notifications in-app
    Quand je désactive les alertes email dans mes préférences
    Alors je ne reçois plus d'emails d'alerte budget
    Mais les notifications in-app continuent
    Et les alertes critiques (échec paiement) sont toujours envoyées par email

  Plan du Scénario: Couleur jauge selon pourcentage consommé
    Étant donné un budget de 300€
    Quand j'ai consommé <montant>€ (<pourcentage>%)
    Alors la couleur de la jauge est <couleur>

    Exemples:
      | montant | pourcentage | couleur |
      | 100     | 33          | verte   |
      | 150     | 50          | verte   |
      | 180     | 60          | orange  |
      | 240     | 80          | orange  |
      | 270     | 90          | rouge   |
      | 285     | 95          | rouge   |
      | 300     | 100         | rouge   |

  Plan du Scénario: Projection épuisement selon consommation
    Étant donné un budget de 300€
    Et une consommation actuelle de <consomme>€
    Et une durée écoulée de <jours_ecoules> jours
    Quand je calcule la consommation quotidienne moyenne
    Alors elle est de <conso_jour>€/jour
    Et le budget sera épuisé dans <jours_restants> jours

    Exemples:
      | consomme | jours_ecoules | conso_jour | jours_restants |
      | 100      | 5             | 20         | 10             |
      | 200      | 10            | 20         | 5              |
      | 150      | 10            | 15         | 10             |
      | 270      | 12            | 22.5       | 1.3            |

  Plan du Scénario: Alertes envoyées selon seuils
    Étant donné un budget de 500€
    Quand je consomme <montant>€ (<pourcentage>%)
    Alors je reçois une alerte <niveau>

    Exemples:
      | montant | pourcentage | niveau       |
      | 350     | 70          | aucune       |
      | 400     | 80          | alerte 80%   |
      | 450     | 90          | alerte 90%   |
      | 500     | 100         | budget épuisé|
