# language: fr
Fonctionnalité: Impact des abonnements sur l'algorithme
  En tant qu'auditeur
  Je veux que les contenus de mes créateurs suivis soient favorisés
  Afin de ne pas rater leurs publications tout en découvrant de nouveaux contenus

  Contexte:
    Étant donné que l'API RoadWave est disponible
    Et que je suis connecté en tant qu'auditeur
    Et que je suis abonné au créateur "JeanDupont"

  Scénario: Boost de +30% appliqué au score final
    Étant donné un contenu du créateur "JeanDupont" avec:
      | score_geo     | 0.5 |
      | score_interet | 0.6 |
      | score_engage  | 0.5 |
    Quand le score final est calculé
    Alors le score de base est 0.53
    Et le boost abonnement de +30% est appliqué
    Et le score final avec boost est 0.69

  Scénario: Contenu non-suivi peut battre contenu suivi
    Étant donné que je suis à Paris
    Et que 2 contenus sont disponibles:
      | contenu   | createur_suivi | score_geo | score_interet | score_engage | score_final_base | score_avec_boost |
      | Contenu A | Non            | 0.9       | 0.8           | 0.7          | 0.80             | 0.80             |
      | Contenu B | Oui            | 0.5       | 0.6           | 0.5          | 0.53             | 0.69             |
    Quand l'algorithme sélectionne le prochain contenu
    Alors le Contenu A est proposé en premier
    Car son score (0.80) est supérieur au Contenu B avec boost (0.69)

  Scénario: Contenu suivi remporte grâce au boost
    Étant donné que je suis à Paris
    Et que 2 contenus sont disponibles:
      | contenu   | createur_suivi | score_final_base | score_avec_boost |
      | Contenu A | Non            | 0.70             | 0.70             |
      | Contenu B | Oui            | 0.60             | 0.78             |
    Quand l'algorithme sélectionne le prochain contenu
    Alors le Contenu B est proposé en premier
    Car le boost fait pencher la balance (0.78 > 0.70)

  Scénario: Contenu suivi avec faible engagement ne domine pas
    Étant donné que je suis abonné au créateur "CreateurMoyen"
    Et qu'il publie un contenu avec très faible engagement (score 0.30)
    Et qu'un contenu viral d'un créateur non-suivi a un score de 0.85
    Quand l'algorithme sélectionne le prochain contenu
    Alors le contenu viral est proposé en premier (0.85)
    Car même avec boost, le contenu suivi obtient seulement 0.39 (0.30 × 1.3)

  Scénario: Pas de file dédiée aux abonnements
    Étant donné que je suis abonné à 50 créateurs
    Quand l'algorithme génère ma file d'attente de 5 contenus
    Alors les contenus suivis et non-suivis sont mélangés
    Et tous entrent en compétition selon leurs scores (avec boost si abonnement)
    Et il n'y a pas de section séparée "Contenus de vos abonnements"

  Scénario: Vérification du calcul du boost
    Étant donné un contenu d'un créateur suivi
    Et que le score final de base est calculé à 0.65
    Quand le boost abonnement est appliqué
    Alors le multiplicateur utilisé est exactement 1.3
    Et le score final avec boost est 0.845 (0.65 × 1.3)
    Et le résultat est arrondi à 2 décimales: 0.85

  Scénario: Boost appliqué à tous les contenus du créateur suivi
    Étant donné que je suis abonné au créateur "JeanDupont"
    Et qu'il a publié 10 contenus différents
    Quand l'algorithme évalue chacun de ces contenus
    Alors le boost de +30% est appliqué à tous les 10 contenus
    Et chaque contenu bénéficie du même multiplicateur 1.3

  Scénario: Plusieurs créateurs suivis en compétition
    Étant donné que je suis abonné à "Créateur A" et "Créateur B"
    Et que les 2 ont des contenus disponibles dans ma zone:
      | createur    | score_base | score_avec_boost |
      | Créateur A  | 0.70       | 0.91             |
      | Créateur B  | 0.65       | 0.85             |
    Quand l'algorithme sélectionne le prochain contenu
    Alors le contenu du Créateur A est proposé en premier (0.91 > 0.85)
    Et les 2 bénéficient du boost, mais le meilleur score gagne

  Scénario: Contenu national d'un créateur suivi
    Étant donné que je suis abonné à "MediaNational"
    Et qu'il publie un contenu de type "National" (score_geo 0.2)
    Quand le score est calculé avec:
      | score_geo | score_interet | score_engage |
      | 0.2       | 0.7           | 0.6          |
    Alors le score de base est environ 0.50
    Et avec le boost abonnement, le score devient 0.65
    Et le contenu peut être proposé malgré son score géo faible

  Scénario: Transparence du boost dans les paramètres
    Quand j'accède aux paramètres de l'algorithme de recommandation
    Alors je vois l'information: "Les contenus de vos créateurs suivis bénéficient d'un boost de +30%"
    Et je comprends que ce n'est pas une priorité absolue
    Et que la découverte de nouveaux contenus reste possible

  Scénario: Boost désactivé si désabonnement
    Étant donné que je suis abonné au créateur "JeanDupont"
    Et qu'un de ses contenus bénéficiait du boost +30%
    Quand je me désabonne de "JeanDupont"
    Alors ses contenus n'ont plus le boost
    Et leur score revient au score de base sans multiplicateur

  Scénario: Contenu d'un créateur nouvellement suivi
    Étant donné que je viens de m'abonner à "NouveauCreateur"
    Et qu'il a publié un contenu il y a 2 jours
    Quand l'algorithme recalcule les scores
    Alors le boost de +30% est immédiatement appliqué à ce contenu
    Et il peut apparaître dans ma prochaine file d'attente

  Scénario: Impact sur le taux de contenu suivi dans le feed
    Étant donné que je suis abonné à 30 créateurs
    Et que j'écoute 100 contenus sur une semaine
    Quand j'analyse la répartition
    Alors environ 40-50% des contenus proviennent de créateurs suivis
    Et 50-60% proviennent de créateurs non-suivis (découverte)
    Car le boost favorise sans dominer

  Scénario: Contenu suivi hors zone géographique
    Étant donné que je suis à Paris
    Et que je suis abonné à un créateur de Marseille
    Et qu'il publie un contenu ancré à Marseille (hors de portée)
    Quand l'algorithme évalue ce contenu
    Alors le score géo est quasi nul (0.05)
    Et même avec boost +30%, le score reste très faible
    Et le contenu n'est probablement pas proposé

  Scénario: Performance de calcul du boost
    Étant donné que je suis abonné à 100 créateurs
    Et que l'algorithme évalue 1000 contenus potentiels
    Quand le calcul des scores avec boost est effectué
    Alors le temps de calcul reste inférieur à 50ms
    Car le boost est une simple multiplication (opération O(1))
    Et la requête SQL utilise un JOIN sur la table abonnements

  Scénario: Boost combiné avec d'autres facteurs
    Étant donné un contenu d'un créateur suivi
    Et que le contenu bénéficie aussi de:
      | facteur                    | impact    |
      | Score d'engagement élevé   | +20%      |
      | Contenu récent (<24h)      | +10%      |
      | Boost abonnement           | +30%      |
    Quand le score final est calculé
    Alors le boost abonnement s'applique au score final (après tous les autres calculs)
    Et les boosts ne s'additionnent pas, le boost abonnement est un multiplicateur final
