# language: fr

Fonctionnalité: Partage de contenu
  En tant qu'utilisateur de RoadWave
  Je veux pouvoir partager du contenu audio
  Afin de faire découvrir l'application à d'autres personnes

  Contexte:
    Étant donné que l'application RoadWave est démarrée
    Et que l'utilisateur "jean@example.com" est connecté

  # 15.1.1 - Bouton "Partager"

  Scénario: Bouton partager disponible dans le player en lecture
    Étant donné que le contenu "Balade à Paris" est en cours de lecture
    Quand l'utilisateur consulte les contrôles du player
    Alors le bouton "Partager" ⬆️ est visible

  Scénario: Bouton partager disponible sur la page profil créateur
    Étant donné que l'utilisateur consulte le profil de "@paris_stories"
    Quand l'utilisateur consulte un contenu dans la liste
    Alors le bouton "Partager" est disponible pour chaque contenu

  Scénario: Bouton partager dans la liste de recherche
    Étant donné que l'utilisateur effectue une recherche "voyage paris"
    Quand l'utilisateur ouvre le menu contextuel d'un résultat
    Alors l'option "Partager" est disponible

  Scénario: Bouton partager dans l'historique personnel
    Étant donné que l'utilisateur consulte son historique d'écoute
    Quand l'utilisateur sélectionne un contenu de l'historique
    Alors le bouton "Partager" est accessible

  Plan du Scénario: Menu de partage avec options multiples
    Étant donné que le contenu "<contenu>" est disponible
    Quand l'utilisateur clique sur le bouton "Partager"
    Alors le menu natif OS s'ouvre
    Et les options suivantes sont disponibles:
      | option              |
      | Copier le lien      |
      | WhatsApp            |
      | Email               |
      | SMS                 |
      | Plus...             |

    Exemples:
      | contenu                    |
      | Balade à Paris             |
      | Secrets de Montmartre      |

  # 15.1.2 - Comportement du lien partagé

  Scénario: Génération du lien de partage
    Étant donné un contenu avec l'ID "content_12345"
    Quand l'utilisateur copie le lien de partage
    Alors le lien généré est "https://roadwave.fr/share/c/content_12345"

  Scénario: Ouverture du lien partagé avec l'application installée (Deep link)
    Étant donné que l'application RoadWave est installée sur l'appareil
    Et qu'un lien "https://roadwave.fr/share/c/content_12345" est partagé
    Quand l'utilisateur clique sur le lien
    Alors l'application RoadWave s'ouvre automatiquement
    Et le contenu "content_12345" commence à jouer

  Scénario: Ouverture du lien partagé sans l'application installée (Web player)
    Étant donné que l'application RoadWave n'est pas installée
    Et qu'un lien "https://roadwave.fr/share/c/content_12345" est partagé
    Quand l'utilisateur clique sur le lien
    Alors une page web responsive s'affiche
    Et le web player HTML5 est visible
    Et les boutons de téléchargement App Store et Google Play sont affichés

  Scénario: Contenu de la page web de partage
    Étant donné un contenu public avec les métadonnées suivantes:
      | champ        | valeur                      |
      | titre        | Balade à Paris              |
      | créateur     | @paris_stories              |
      | durée        | 12 min                      |
      | écoutes      | 2300                        |
      | localisation | Paris 5e                    |
      | type_geo     | Ancré                       |
      | tags         | Voyage, Histoire            |
    Quand la page de partage est affichée
    Alors la page contient:
      | élément                  |
      | Cover image 16:9         |
      | Titre "Balade à Paris"   |
      | "@paris_stories"         |
      | "12 min · 🎧 2.3K"      |
      | "📍 Paris 5e · Ancré"   |
      | "🏷️ #Voyage #Histoire"  |
      | Description              |
      | Player HTML5             |
      | Bouton App Store         |
      | Bouton Google Play       |

  Scénario: Métadonnées Open Graph pour partage social
    Étant donné un contenu "Balade à Paris" par "@paris_stories"
    Quand la page de partage est générée
    Alors les métadonnées Open Graph incluent:
      | propriété           | valeur                                    |
      | og:title            | Balade à Paris - RoadWave                 |
      | og:description      | Écoutez ce contenu par @paris_stories     |
      | og:type             | music.song                                |
      | og:site_name        | RoadWave                                  |
      | twitter:card        | player                                    |
    Et l'aperçu s'affiche correctement sur WhatsApp
    Et l'aperçu s'affiche correctement sur Facebook
    Et l'aperçu s'affiche correctement sur Twitter

  Plan du Scénario: Deep linking par plateforme
    Étant donné que l'application RoadWave est installée sur <plateforme>
    Et qu'un lien de partage est ouvert
    Quand le système détecte l'application
    Alors l'application s'ouvre via <mécanisme>

    Exemples:
      | plateforme | mécanisme                           |
      | iOS        | Universal Links                     |
      | Android    | App Links                           |

  Scénario: Fallback URL scheme pour deep linking
    Étant donné que les App Links ne fonctionnent pas
    Quand le système tente d'ouvrir le contenu
    Alors l'URL scheme "roadwave://content/content_12345" est utilisé

  # 15.1.3 - Contenus Premium partagés

  Scénario: Badge Premium visible sur le lien partagé
    Étant donné un contenu Premium "Visite VIP Louvre"
    Quand l'utilisateur non-premium clique sur le lien partagé
    Alors la page web affiche le badge "👑 Contenu Premium"

  Scénario: Preview 30 secondes d'un contenu Premium partagé
    Étant donné un contenu Premium "Visite VIP Louvre" de 15 minutes
    Et qu'un utilisateur non-premium ouvre le lien partagé
    Quand le player démarre automatiquement
    Alors l'audio joue pendant 30 secondes exactement
    Et un fade out de 2 secondes est appliqué
    Et un overlay "Contenu réservé Premium" s'affiche après 32 secondes

  Scénario: Contenu de l'overlay paywall Premium
    Étant donné qu'un contenu Premium a atteint la limite de 30 secondes
    Quand l'overlay paywall s'affiche
    Alors le texte suivant est visible:
      """
      👑 Contenu réservé Premium

      Profitez de ce contenu complet
      et de milliers d'autres
      sans publicité

      [Passer Premium - 4.99€/mois]
      [Télécharger l'app]
      """

  Scénario: Actions disponibles sur l'overlay Premium
    Étant donné que l'overlay paywall Premium est affiché
    Quand l'utilisateur consulte les options
    Alors les actions suivantes sont disponibles:
      | action                        | comportement                              |
      | Passer Premium                | Redirection vers paiement Mangopay web    |
      | Télécharger l'app             | Redirection vers App Store/Google Play    |
      | Rejouer les 30 premières sec  | Relecture illimitée du preview            |

  Scénario: Relecture illimitée du preview Premium
    Étant donné un contenu Premium partagé
    Et que l'utilisateur a écouté les 30 premières secondes
    Quand l'utilisateur clique sur "Rejouer"
    Alors les 30 premières secondes sont rejouées
    Et cette action est possible de manière illimitée

  Scénario: Tracking des partages Premium
    Étant donné un créateur "@guide_louvre" avec un contenu Premium
    Quand son contenu est partagé
    Alors les métriques suivantes sont enregistrées:
      | métrique                | valeur    |
      | Partages Premium        | +1        |
      | Ouvertures lien         | compteur  |
      | Conversions Premium     | si souscription |

  Scénario: Rémunération créateur sur conversion Premium via partage
    Étant donné un contenu Premium partagé par "@guide_louvre"
    Quand un utilisateur s'abonne via le lien partagé
    Alors le créateur reçoit 70% des revenus de cet abonnement
    Et la conversion est trackée dans son dashboard

  # Cas d'erreur

  Scénario: Partage d'un contenu supprimé
    Étant donné qu'un lien de partage "https://roadwave.fr/share/c/deleted_content" est ouvert
    Et que le contenu n'existe plus
    Quand la page web se charge
    Alors un message "Ce contenu n'est plus disponible" s'affiche
    Et les boutons de téléchargement de l'app sont affichés

  Scénario: Partage d'un contenu en attente de modération
    Étant donné un contenu en cours de validation modération
    Quand un lien de partage est ouvert
    Alors le message "Ce contenu est en cours de validation" s'affiche

  Scénario: Génération du lien hors connexion
    Étant donné que l'utilisateur n'a pas de connexion réseau
    Quand l'utilisateur tente de partager un contenu
    Alors le lien est copié dans le presse-papiers
    Et un message "Lien copié (nécessite connexion pour ouvrir)" s'affiche
