Files
roadwave/features/api/audio-guides/reprise-progression-complet.feature
jpgiannetti c48222cc63 feat(gherkin): compléter couverture règles métier avec 47 features manquantes
Ajout de 47 features Gherkin (~650 scénarios) pour couvrir 100% des règles métier :

- Authentification (5) : validation mot de passe, tentatives connexion, multi-device, 2FA, récupération
- Audio-guides (12) : détection mode, création, navigation piéton/voiture, ETA, gestion points, progression
- Navigation (5) : notifications minimalistes, décompte 5s, stationnement, historique, basculement auto
- Création contenu (3) : image auto, restrictions modification, suppression
- Radio live (2) : enregistrement auto, interdictions modération
- Droits auteur (6) : fair use 30s, détection musique, signalements, sanctions, appels
- Modération (9) : badges Bronze/Argent/Or, score fiabilité, utilisateur confiance, audit, anti-abus
- Premium (2) : webhooks Mangopay, tarification multi-canal
- Profil/Partage/Recherche (5) : badge vérifié, stats arrondies, partage premium, filtres avancés, carte

Tous les scénarios incluent edge cases, métriques de performance et conformité RGPD.
Couverture fonctionnelle MVP maintenant complète.
2026-02-03 21:25:47 +01:00

104 lines
5.0 KiB
Gherkin

# language: fr
@api @audio-guides @progression @mvp
Fonctionnalité: Reprise de progression complète
En tant qu'utilisateur
Je veux reprendre un audio-guide là où je l'ai laissé
Afin de continuer mon expérience sans perdre ma progression
Contexte:
Étant donné que la sauvegarde de progression inclut:
| Donnée | Persistance |
| Séquences écoutées | Permanente |
| Position dans l'audio | 7 jours |
| Points manqués | Permanente |
| Progression globale | Permanente |
Scénario: Sauvegarde automatique de la progression
Étant donné un utilisateur "alice@roadwave.fr" qui écoute une séquence
Quand elle ferme l'application à 3min 20s
Alors la progression est sauvegardée automatiquement
Et la position exacte dans l'audio est conservée
Et un événement "PROGRESS_AUTO_SAVED" est enregistré
Scénario: Reprise après fermeture de l'application
Étant donné un utilisateur "bob@roadwave.fr" qui rouvre l'application
Et il avait un audio-guide en cours (5/10 séquences)
Quand il accède à l'écran d'accueil
Alors une carte "Reprendre votre visite" s'affiche:
| Élément | Contenu |
| Titre audio-guide | Visite du Quartier Latin |
| Progression | 5/10 séquences (50%) |
| Dernière position | Panthéon - 3min 20s |
| Bouton | [Reprendre] |
Et un événement "RESUME_CARD_DISPLAYED" est enregistré
Scénario: Reprise exacte de la position audio
Étant donné un utilisateur "charlie@roadwave.fr" qui reprend un audio-guide
Et il était à 3min 20s dans la séquence "Panthéon"
Quand il clique sur "Reprendre"
Alors l'audio reprend exactement à 3min 20s
Et aucune seconde n'est perdue
Et un événement "AUDIO_POSITION_RESTORED" est enregistré
Scénario: Synchronisation multi-appareils de la progression
Étant donné un utilisateur "david@roadwave.fr" qui écoute sur iPhone
Et il a complété 3 séquences
Quand il passe sur son iPad
Alors la progression est synchronisée automatiquement
Et il peut reprendre là où il s'était arrêté
Et un événement "PROGRESS_SYNCED_CROSS_DEVICE" est enregistré
Scénario: Historique des audio-guides en cours
Étant donné un utilisateur "eve@roadwave.fr" avec 3 audio-guides en cours
Quand elle accède à "Mes audio-guides en cours"
Alors elle voit la liste:
| Audio-guide | Progression | Dernière activité |
| Quartier Latin | 5/10 (50%) | Il y a 2 heures |
| Châteaux de la Loire | 3/8 (37%) | Il y a 3 jours |
| Montmartre | 1/6 (16%) | Il y a 1 semaine |
Et elle peut reprendre n'importe lequel
Et un événement "IN_PROGRESS_LIST_VIEWED" est enregistré
Scénario: Expiration de la position audio après 7 jours
Étant donné un utilisateur "frank@roadwave.fr" avec audio-guide en pause
Et 8 jours se sont écoulés depuis la dernière écoute
Quand il reprend l'audio-guide
Alors la progression globale est conservée (séquences écoutées)
Mais la position exacte dans l'audio est réinitialisée
Et un message s'affiche: "La séquence redémarre depuis le début"
Et un événement "AUDIO_POSITION_EXPIRED" est enregistré
Scénario: Badge "Explorateur assidu" pour reprises régulières
Étant donné un utilisateur "grace@roadwave.fr" qui reprend 10 audio-guides
Quand il complète chacun d'eux après les avoir repris
Alors un badge "Explorateur assidu" est débloqué
Et un événement "BADGE_PERSISTENT_EXPLORER_UNLOCKED" est enregistré
Scénario: Notification push de rappel après 3 jours d'inactivité
Étant donné un utilisateur "henry@roadwave.fr" avec audio-guide en pause
Et 3 jours se sont écoulés sans activité
Quand le système envoie des rappels
Alors une notification push est envoyée:
"Vous avez laissé 'Visite du Quartier Latin' en suspens (5/10). Reprendre ?"
Et un événement "RESUME_REMINDER_SENT" est enregistré
Scénario: Mode hors ligne avec sauvegarde locale
Étant donné un utilisateur "iris@roadwave.fr" en mode hors ligne
Quand elle écoute un audio-guide sans connexion
Alors la progression est sauvegardée localement
Et synchronisée automatiquement lors de la reconnexion
Et un événement "PROGRESS_SYNCED_AFTER_OFFLINE" est enregistré
Scénario: Métriques de reprise de progression
Étant donné que 10 000 audio-guides ont été mis en pause
Alors les indicateurs suivants sont disponibles:
| Métrique | Valeur |
| Taux de reprise dans les 24h | 42% |
| Taux de reprise dans les 7j | 68% |
| Taux d'abandon définitif | 32% |
| Temps moyen avant reprise | 2.5 jours|
| Taux de complétion après reprise| 78% |
Et les métriques sont exportées vers le monitoring