test(gherkin): ajouter tests BDD pour toutes clarifications règles métier
Ajoute/modifie tests Gherkin pour couvrir les 7 sections clarifiées : 1. Algorithme recommandation (scoring intérêts nuls) : - Ajout scénarios scoring-recommandation.feature - Cas contenu géo-ancré proche avec intérêts nuls = recommandable - Comparaison scores géo vs intérêts 2. Audio-guides mode voiture (système double clic) : - Nouveau fichier systeme-double-clic-sortie.feature - Premier clic : passage mode manuel + séquence suivante - Deuxième clic <10s : sortie audio-guide - Détection hors itinéraire + reprise 3. Monétisation créateurs (soldes dormants + DAS2) : - Nouveau fichier soldes-dormants-inactifs.feature - Conservation indéfinie si actif - Emails 12/18 mois + versement forcé 18 mois + 30j - Exception soldes <10€ avec proposition don - Modification obligations-fiscales.feature - DAS2 systématique tous montants (même <1200€) 4. Skip et abonnement (neutralisation pénalités) : - Nouveau fichier skip-abonnes-neutralisation.feature - Skip <10s non-abonné : -0.5% - Skip <10s abonné : 0% (neutre) - Métriques engagement : abonnés ne pénalisent pas - Anti-raid naturel (sources non pertinentes) 5. Premium multi-devices (KISS) : - Nouveau fichier multi-devices-dernier-priorite.feature - Règle simple : dernier device prend toujours priorité - Offline connecté vs déconnecté - Détection abus post-MVP (pas automatique) 6. Mode offline (contenus supprimés) : - Nouveau fichier contenus-supprimes-pendant-offline.feature - Suppression immédiate à reconnexion - Modal si contenu en cours d'écoute - Popup récapitulative si 2+ contenus supprimés 7. Publicités (ciblage horaire + fuseaux horaires) : - Nouveau fichier ciblage-horaire-fuseaux-horaires.feature - Ciblage horaire = heure locale utilisateur - France entière = Métropole + DOM - Détection fuseau GPS/device/IP - Cas d'usage restaurant Guadeloupe, assureur national Couverture complète de toutes les règles métier clarifiées.
This commit is contained in:
235
features/api/monetisation/soldes-dormants-inactifs.feature
Normal file
235
features/api/monetisation/soldes-dormants-inactifs.feature
Normal file
@@ -0,0 +1,235 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Gestion des soldes dormants et créateurs inactifs
|
||||
En tant que plateforme RoadWave
|
||||
Je veux gérer les soldes des créateurs inactifs de manière équitable
|
||||
Afin de restituer l'argent aux créateurs plutôt que de le confisquer
|
||||
|
||||
Contexte:
|
||||
Étant donné que je suis un créateur monétisé
|
||||
Et que mon KYC est validé
|
||||
Et que mon solde actuel est 45.00€
|
||||
|
||||
# Conservation du solde pour créateurs actifs
|
||||
|
||||
Scénario: Créateur actif - Solde conservé indéfiniment
|
||||
Étant donné que je publie au moins 1 contenu par mois
|
||||
Ou que je me connecte au dashboard au moins 1 fois par mois
|
||||
Quand 24 mois se sont écoulés
|
||||
Alors mon solde de 45.00€ est toujours conservé
|
||||
Et aucun email de préavis n'est envoyé
|
||||
Et le solde reste visible dans mon dashboard
|
||||
|
||||
Scénario: Créateur actif sporadique - Pas de pénalité
|
||||
Étant donné que je publie 1 contenu tous les 2-3 mois
|
||||
Ou que je me connecte au dashboard tous les 2 mois
|
||||
Quand 18 mois d'activité sporadique se sont écoulés
|
||||
Alors mon solde est conservé normalement
|
||||
Et je ne reçois aucun email d'avertissement
|
||||
Et mon statut reste "Créateur actif"
|
||||
|
||||
# Créateur inactif - Emails préventifs
|
||||
|
||||
Scénario: Inactivité 12 mois - Email préventif 1
|
||||
Étant donné que je n'ai publié aucun contenu depuis 12 mois
|
||||
Et que je ne me suis pas connecté au dashboard depuis 12 mois
|
||||
Quand le système détecte 12 mois d'inactivité
|
||||
Alors je reçois un email avec le sujet:
|
||||
"""
|
||||
⚠️ Votre solde RoadWave (45.00€) - Action requise
|
||||
"""
|
||||
Et l'email contient:
|
||||
"""
|
||||
Vous n'avez pas publié de contenu depuis 12 mois.
|
||||
Votre solde actuel : 45.00€
|
||||
|
||||
🔔 Si vous restez inactif 6 mois supplémentaires :
|
||||
→ Versement automatique (frais bancaires déduits)
|
||||
→ Montant net estimé : 44.64€
|
||||
|
||||
💡 Pour éviter le versement anticipé :
|
||||
- Publiez un nouveau contenu, OU
|
||||
- Connectez-vous à votre dashboard créateur
|
||||
"""
|
||||
Et un lien vers le dashboard est fourni
|
||||
|
||||
Scénario: Inactivité 18 mois - Email préventif 2 (préavis final)
|
||||
Étant donné que je n'ai publié aucun contenu depuis 18 mois
|
||||
Et que je ne me suis pas connecté au dashboard depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je reçois un email avec le sujet:
|
||||
"""
|
||||
📢 Versement automatique dans 30 jours
|
||||
"""
|
||||
Et l'email contient:
|
||||
"""
|
||||
Vous n'avez pas publié de contenu depuis 18 mois.
|
||||
|
||||
⏰ Votre solde sera versé automatiquement dans 30 jours :
|
||||
- Solde actuel : 45.00€
|
||||
- Frais bancaires Mangopay SEPA : 0.36€ (1.8% + 0.18€)
|
||||
- Montant net : 44.64€
|
||||
|
||||
Ce versement est automatique pour restituer votre argent.
|
||||
|
||||
💡 Pour conserver le solde jusqu'à 50€ :
|
||||
- Publiez un nouveau contenu, OU
|
||||
- Connectez-vous à votre dashboard
|
||||
"""
|
||||
|
||||
Scénario: Inactivité 18 mois + 30 jours - Versement forcé
|
||||
Étant donné que je n'ai publié aucun contenu depuis 18 mois + 30 jours
|
||||
Et que je ne me suis pas connecté au dashboard depuis 18 mois + 30 jours
|
||||
Quand le système détecte 18 mois + 30 jours d'inactivité
|
||||
Alors un versement SEPA automatique est initié vers mon RIB
|
||||
Et le montant versé est 45.00€ - 0.36€ = 44.64€
|
||||
Et je reçois un email de confirmation:
|
||||
"""
|
||||
✅ Versement automatique effectué
|
||||
|
||||
Votre solde RoadWave a été versé :
|
||||
- Montant brut : 45.00€
|
||||
- Frais bancaires : 0.36€
|
||||
- Montant net versé : 44.64€
|
||||
|
||||
Le virement devrait arriver sur votre compte dans 1-3 jours.
|
||||
"""
|
||||
|
||||
Scénario: Inactivité 18 mois + 37 jours - Purge données comptables
|
||||
Étant donné qu'un versement forcé a été effectué il y a 7 jours
|
||||
Quand le système détecte 18 mois + 37 jours d'inactivité
|
||||
Alors les données comptables temporaires sont purgées
|
||||
Mais les logs sont conservés 10 ans (obligation RGPD)
|
||||
Et l'historique de paiement reste visible dans mon profil
|
||||
|
||||
# Exception soldes <10€
|
||||
|
||||
Scénario: Solde <10€ après 18 mois - Proposition de don
|
||||
Étant donné que mon solde actuel est 8.50€
|
||||
Et que je suis inactif depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je reçois un email avec proposition:
|
||||
"""
|
||||
Votre solde actuel : 8.50€
|
||||
|
||||
⚠️ Les frais bancaires (0.36€) représentent 4.2% du montant.
|
||||
|
||||
💡 Options disponibles :
|
||||
1. Don à une association (frais 0€, 100% reversé)
|
||||
2. Conservation jusqu'à atteindre 50€
|
||||
3. Versement avec frais déduits (8.14€ net)
|
||||
|
||||
Choisissez votre option : [Lien formulaire]
|
||||
"""
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Don association"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Don à une association"
|
||||
Quand le don est effectué
|
||||
Alors 8.50€ (100%) sont reversés à l'association
|
||||
Et je reçois un reçu fiscal si applicable
|
||||
Et mon solde est remis à 0€
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Conservation jusqu'à 50€"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Conservation jusqu'à 50€"
|
||||
Quand l'option est validée
|
||||
Alors mon solde est conservé indéfiniment
|
||||
Et je peux me reconnecter à tout moment pour publier du contenu
|
||||
Et atteindre les 50€ pour un paiement standard
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Versement avec frais"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Versement avec frais déduits"
|
||||
Quand le versement est initié
|
||||
Alors je reçois 8.50€ - 0.36€ = 8.14€ net
|
||||
Et un email de confirmation est envoyé
|
||||
|
||||
Scénario: Solde <10€ - Pas de réponse + inactivité continue - Versement forcé
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que je n'ai pas répondu à l'email de proposition
|
||||
Et que l'inactivité continue pendant 30 jours supplémentaires
|
||||
Quand le délai de 18 mois + 30 jours est atteint
|
||||
Alors le versement est effectué quand même (équité)
|
||||
Et je reçois 8.14€ net après frais
|
||||
|
||||
# Frais bancaires
|
||||
|
||||
Scénario: Calcul frais bancaires Mangopay SEPA
|
||||
Étant donné que mon solde est de <montant>
|
||||
Quand le versement forcé est initié
|
||||
Alors les frais Mangopay SEPA sont: 1.8% + 0.18€
|
||||
Et le montant net est calculé comme suit:
|
||||
| Solde brut | Frais (1.8% + 0.18€) | Montant net |
|
||||
| 45.00€ | 0.36€ | 44.64€ |
|
||||
| 30.00€ | 0.36€ | 29.64€ |
|
||||
| 100.00€ | 1.98€ | 98.02€ |
|
||||
| 8.50€ | 0.36€ | 8.14€ |
|
||||
|
||||
Scénario: Transparence frais bancaires dans emails
|
||||
Étant donné qu'un email de préavis est envoyé
|
||||
Quand je lis l'email
|
||||
Alors les frais bancaires sont explicitement mentionnés:
|
||||
"""
|
||||
Frais bancaires Mangopay SEPA : 0.36€ (1.8% + 0.18€)
|
||||
"""
|
||||
Et le montant net final est clairement indiqué
|
||||
|
||||
# Comparaison Twitch
|
||||
|
||||
Scénario: Comparaison avec Twitch - Versement forcé vs Forfeiture
|
||||
Étant donné que Twitch confisque (forfeiture) les soldes après 24 mois
|
||||
Et que RoadWave verse (restitue) les soldes après 18 mois
|
||||
Alors RoadWave est plus équitable:
|
||||
| Critère | Twitch | RoadWave | Avantage |
|
||||
| Seuil paiement | 50-100$ | 50€ | Aligné |
|
||||
| Délai inactivité | 24 mois | 18 mois | Plus court |
|
||||
| Action fin délai | Forfeiture (perte argent) | Versement forcé (récupère) | ✅ RoadWave |
|
||||
| Emails préventifs | Non documenté | 12 mois + 18 mois + 30j | ✅ RoadWave |
|
||||
| Frais bancaires | Non documenté | Déduits + annoncés | ✅ RoadWave |
|
||||
|
||||
# Réactivation après inactivité
|
||||
|
||||
Scénario: Reconnexion après 12 mois d'inactivité - Solde conservé
|
||||
Étant donné que je suis inactif depuis 12 mois
|
||||
Et que mon solde est 45.00€
|
||||
Quand je me connecte au dashboard
|
||||
Alors mon solde est toujours de 45.00€
|
||||
Et le compteur d'inactivité est remis à 0
|
||||
Et aucun versement forcé n'aura lieu
|
||||
|
||||
Scénario: Publication contenu après 17 mois d'inactivité - Annulation versement
|
||||
Étant donné que je suis inactif depuis 17 mois
|
||||
Et qu'un email de préavis a été envoyé
|
||||
Quand je publie un nouveau contenu
|
||||
Alors le processus de versement forcé est annulé
|
||||
Et mon solde reste conservé normalement
|
||||
Et je redeviens "Créateur actif"
|
||||
|
||||
Scénario: Reconnexion 1 jour avant versement forcé - Annulation
|
||||
Étant donné que je suis inactif depuis 18 mois + 29 jours
|
||||
Et que le versement forcé est prévu demain
|
||||
Quand je me connecte au dashboard aujourd'hui
|
||||
Alors le versement forcé est annulé
|
||||
Et mon solde est conservé
|
||||
Et un message confirme: "Versement automatique annulé. Solde conservé."
|
||||
|
||||
# Cas limites
|
||||
|
||||
Scénario: Créateur avec plusieurs contenus anciens mais inactif
|
||||
Étant donné que j'ai publié 50 contenus il y a 2 ans
|
||||
Et que ces contenus génèrent encore des revenus passifs
|
||||
Mais que je ne me connecte plus au dashboard depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je suis considéré "inactif" (aucune connexion dashboard)
|
||||
Et je reçois les emails de préavis normalement
|
||||
Et le versement forcé s'applique après 18 mois + 30 jours
|
||||
|
||||
Scénario: Créateur avec abonnés fidèles mais inactif
|
||||
Étant donné que j'ai 500 abonnés
|
||||
Et que mes anciens contenus génèrent encore des revenus
|
||||
Mais que je ne publie plus de contenus depuis 18 mois
|
||||
Et que je ne me connecte plus au dashboard depuis 18 mois
|
||||
Quand le système détecte l'inactivité
|
||||
Alors je reçois les emails de préavis
|
||||
Et le versement forcé s'applique normalement
|
||||
Car l'activité comptabilisée = connexion dashboard OU publication contenu
|
||||
Reference in New Issue
Block a user