196 lines
8.0 KiB
Gherkin
196 lines
8.0 KiB
Gherkin
# language: fr
|
||
Fonctionnalité: Actions complémentaires - Mode piéton
|
||
En tant qu'auditeur en mode piéton
|
||
Je veux accéder à des actions avancées depuis l'application mobile
|
||
Afin de liker explicitement, m'abonner ou signaler du contenu
|
||
|
||
Contexte:
|
||
Étant donné que l'API RoadWave est disponible
|
||
Et qu'un utilisateur est connecté
|
||
Et qu'il est en mode piéton (vitesse < 5 km/h)
|
||
|
||
Scénario: Like explicite avec bouton cœur
|
||
Étant donné que j'écoute un contenu tagué "Automobile"
|
||
Et que ma jauge "Automobile" est à 60%
|
||
Quand je clique sur le bouton cœur "Like"
|
||
Alors ma jauge "Automobile" augmente de 2%
|
||
Et une animation de cœur rouge s'affiche
|
||
Et une vibration courte est déclenchée
|
||
Et ma jauge "Automobile" est maintenant à 62%
|
||
|
||
Scénario: Like explicite cumulable avec like automatique
|
||
Étant donné que j'ai écouté un contenu "Voyage" à 85%
|
||
Et que j'ai reçu un like automatique renforcé (+2%)
|
||
Et que ma jauge "Voyage" est à 52%
|
||
Quand je clique sur le bouton cœur "Like"
|
||
Alors ma jauge "Voyage" augmente encore de 2%
|
||
Et ma jauge "Voyage" passe à 54%
|
||
Et les deux likes sont cumulés
|
||
|
||
Scénario: Unlike retire le like manuel uniquement
|
||
Étant donné que j'ai liké manuellement un contenu "Sport"
|
||
Et que ma jauge "Sport" est à 57%
|
||
Quand je clique à nouveau sur le bouton cœur (toggle)
|
||
Alors le cœur redevient vide (unlike)
|
||
Et ma jauge "Sport" diminue de 2%
|
||
Et ma jauge "Sport" revient à 55%
|
||
|
||
Scénario: Unlike ne retire pas le like automatique
|
||
Étant donné que j'ai écouté un contenu "Musique" à 90%
|
||
Et que j'ai reçu un like automatique renforcé (+2%)
|
||
Et que ma jauge "Musique" est à 52%
|
||
Et que je n'ai PAS liké manuellement
|
||
Quand je consulte l'interface
|
||
Alors le bouton "Unlike" n'est pas disponible
|
||
Et le cœur reste grisé (aucun like manuel)
|
||
Et ma jauge reste à 52%
|
||
|
||
Scénario: Abonnement à un créateur
|
||
Étant donné qu'un créateur publie des contenus tagués "Automobile" et "Technologie"
|
||
Et que mes jauges sont:
|
||
| catégorie | niveau |
|
||
| Automobile | 50% |
|
||
| Technologie | 45% |
|
||
Quand je clique sur "S'abonner" sur le profil du créateur
|
||
Alors ma jauge "Automobile" augmente de 5%
|
||
Et ma jauge "Technologie" augmente de 5%
|
||
Et une animation d'étoile dorée s'affiche
|
||
Et un badge "Abonné ✓" apparaît sur le profil
|
||
Et mes nouvelles jauges sont:
|
||
| catégorie | niveau |
|
||
| Automobile | 55% |
|
||
| Technologie | 50% |
|
||
|
||
Scénario: Désabonnement d'un créateur
|
||
Étant donné que je suis abonné à un créateur
|
||
Et que mes jauges "Automobile" et "Technologie" sont à 55% et 50%
|
||
Quand je clique sur "Se désabonner"
|
||
Alors ma jauge "Automobile" diminue de 5%
|
||
Et ma jauge "Technologie" diminue de 5%
|
||
Et le badge "Abonné ✓" disparaît
|
||
Et mes nouvelles jauges sont:
|
||
| catégorie | niveau |
|
||
| Automobile | 50% |
|
||
| Technologie | 45% |
|
||
|
||
Scénario: Signalement d'un contenu inapproprié
|
||
Étant donné que j'écoute un contenu
|
||
Quand je clique sur le menu contextuel "⋮"
|
||
Et que je sélectionne "Signaler"
|
||
Alors un formulaire de signalement s'ouvre
|
||
Et je dois sélectionner une catégorie:
|
||
| Catégorie |
|
||
| Haine et violence |
|
||
| Contenu sexuel |
|
||
| Illégalité |
|
||
| Droits d'auteur |
|
||
| Spam |
|
||
| Désinformation (fake news) |
|
||
| Autre |
|
||
Et je peux ajouter un commentaire optionnel
|
||
Et le signalement est envoyé au flux de modération
|
||
|
||
Scénario: Feedback visuel pour like explicite
|
||
Étant donné que je clique sur le bouton cœur
|
||
Quand le like est enregistré
|
||
Alors une animation de cœur rouge se lance (0.5s)
|
||
Et le cœur reste rouge plein
|
||
Et une vibration haptique courte est déclenchée (iOS: .light, Android: 50ms)
|
||
Et un badge "♥ Ajouté à vos favoris" s'affiche 2 secondes
|
||
|
||
Scénario: Feedback visuel pour abonnement
|
||
Étant donné que je clique sur "S'abonner"
|
||
Quand l'abonnement est enregistré
|
||
Alors une animation d'étoile dorée se lance (0.8s)
|
||
Et le bouton devient "Abonné ✓" avec badge doré
|
||
Et une notification "Abonné à [Créateur]" s'affiche
|
||
Et les contenus du créateur seront boostés +30% dans l'algo
|
||
|
||
Scénario: Menu contextuel avec toutes les options
|
||
Étant donné que j'utilise l'app en mode piéton
|
||
Quand je clique sur le menu "⋮" (3 points verticaux)
|
||
Alors les options disponibles sont:
|
||
| Option |
|
||
| Like (cœur) |
|
||
| S'abonner au créateur |
|
||
| Signaler |
|
||
| Partager |
|
||
| Voir le profil du créateur |
|
||
| Télécharger (mode offline) |
|
||
Et toutes les options sont cliquables
|
||
|
||
Scénario: Persistance des likes manuels en base de données
|
||
Étant donné que je like manuellement 5 contenus
|
||
Quand je ferme l'application
|
||
Et que je me reconnecte plus tard
|
||
Alors tous mes likes manuels sont toujours présents
|
||
Et les cœurs rouges sont affichés sur les contenus likés
|
||
Et mes jauges reflètent toujours l'impact (+2% × 5 likes)
|
||
|
||
Scénario: Liste "Mes contenus likés" accessible dans profil
|
||
Étant donné que j'ai liké manuellement 10 contenus
|
||
Quand j'accède à mon profil utilisateur
|
||
Alors je vois une section "❤️ Mes favoris"
|
||
Et la liste affiche les 10 contenus likés
|
||
Et je peux cliquer pour réécouter
|
||
Et je peux retirer un like (unlike) depuis cette liste
|
||
|
||
Scénario: Liste "Mes abonnements" accessible dans profil
|
||
Étant donné que je suis abonné à 5 créateurs
|
||
Quand j'accède à mon profil utilisateur
|
||
Alors je vois une section "⭐ Mes abonnements"
|
||
Et la liste affiche les 5 créateurs avec leurs avatars
|
||
Et je peux accéder au profil de chaque créateur
|
||
Et je peux me désabonner depuis cette liste
|
||
|
||
Scénario: Impact abonnement sur tous les tags du créateur
|
||
Étant donné qu'un créateur a publié des contenus avec ces tags:
|
||
| Contenu | Tags |
|
||
| C1 | Automobile, Voyage |
|
||
| C2 | Automobile, Technologie |
|
||
| C3 | Voyage, Famille |
|
||
Et que mes jauges sont toutes à 50%
|
||
Quand je m'abonne à ce créateur
|
||
Alors les jauges impactées sont:
|
||
| Tag | Impact |
|
||
| Automobile | +5% |
|
||
| Voyage | +5% |
|
||
| Technologie | +5% |
|
||
| Famille | +5% |
|
||
Et toutes les autres jauges restent à 50%
|
||
|
||
Scénario: Limite d'abonnements (200 maximum)
|
||
Étant donné que je suis abonné à 200 créateurs
|
||
Quand j'essaie de m'abonner à un 201ème créateur
|
||
Alors un message "Limite de 200 abonnements atteinte" s'affiche
|
||
Et je dois me désabonner d'un créateur existant pour en ajouter un nouveau
|
||
|
||
Scénario: Confirmation avant désabonnement
|
||
Étant donné que je suis abonné à un créateur
|
||
Quand je clique sur "Se désabonner"
|
||
Alors une popup de confirmation s'affiche:
|
||
"""
|
||
Se désabonner de @CreateurNom ?
|
||
|
||
Vous ne recevrez plus de notifications pour ses contenus.
|
||
Vos jauges diminueront de 5%.
|
||
"""
|
||
Et je dois confirmer pour valider
|
||
Et je peux annuler pour conserver l'abonnement
|
||
|
||
Plan du Scénario: Cumul like automatique + like manuel
|
||
Étant donné qu'un contenu est tagué "Sport"
|
||
Et que ma jauge "Sport" est à 50%
|
||
Quand j'écoute à <pourcentage>% (like auto <auto>)
|
||
Et que je like manuellement (+2%)
|
||
Alors l'impact total est <total>
|
||
Et ma nouvelle jauge est <nouveau_niveau>
|
||
|
||
Exemples:
|
||
| pourcentage | auto | total | nouveau_niveau |
|
||
| 10 | 0 | +2% | 52% |
|
||
| 30 | +1% | +3% | 53% |
|
||
| 50 | +1% | +3% | 53% |
|
||
| 80 | +2% | +4% | 54% |
|
||
| 95 | +2% | +4% | 54% |
|