Files
roadwave/features/api/moderation/badges-system.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

77 lines
3.4 KiB
Gherkin

# language: fr
@api @moderation @gamification @mvp
Fonctionnalité: Système de badges de modération
En tant qu'utilisateur modérateur
Je veux gagner des badges pour ma contribution
Afin d'être reconnu et motivé à modérer
Scénario: Badge Bronze - 10 signalements validés
Étant donné un utilisateur "alice@roadwave.fr" qui a 10 signalements validés
Quand le 10ème signalement est confirmé
Alors le badge "Modérateur Bronze" est débloqué
Et affiché sur son profil
Et +50 points de réputation
Et un événement "BADGE_BRONZE_MODERATOR_UNLOCKED" est enregistré
Scénario: Badge Argent - 50 signalements validés
Étant donné un utilisateur avec 50 signalements validés
Alors le badge "Modérateur Argent" est débloqué
Et il obtient des privilèges supplémentaires
Et +200 points de réputation
Et un événement "BADGE_SILVER_MODERATOR_UNLOCKED" est enregistré
Scénario: Badge Or - 200 signalements validés
Étant donné un utilisateur avec 200 signalements validés
Alors le badge "Modérateur Or" est débloqué
Et il devient "Utilisateur de confiance"
Et ses signalements sont traités en priorité
Et +500 points de réputation
Et un événement "BADGE_GOLD_MODERATOR_UNLOCKED" est enregistré
Scénario: Badge Diamant - 1000 signalements + 95% de précision
Étant donné un utilisateur avec 1000 signalements validés
Et un taux de précision > 95%
Alors le badge "Modérateur Diamant" est débloqué
Et il peut devenir modérateur officiel
Et +2000 points de réputation
Et un événement "BADGE_DIAMOND_MODERATOR_UNLOCKED" est enregistré
Scénario: Perte de badge si précision < 70%
Étant donné un utilisateur avec badge Silver
Quand son taux de précision tombe < 70%
Alors le badge est révoqué temporairement
Et il doit retrouver 80% de précision pour le récupérer
Et un événement "BADGE_REVOKED_LOW_ACCURACY" est enregistré
Scénario: Badges spéciaux pour expertise
Étant donné un utilisateur spécialisé
Alors il peut obtenir des badges thématiques:
| Badge | Condition |
| Expert droits d'auteur | 100 signalements copyright validés|
| Expert contenu offensant | 100 signalements haine validés |
| Expert spam | 100 signalements spam validés |
Et un événement "EXPERT_BADGE_UNLOCKED" est enregistré
Scénario: Classement des meilleurs modérateurs
Étant donné tous les utilisateurs modérateurs
Alors un leaderboard est affiché:
| Rang | Utilisateur | Signalements | Précision | Badge |
| 1 | alice | 1,234 | 98% | Diamant |
| 2 | bob | 876 | 96% | Or |
| 3 | charlie | 543 | 94% | Or |
Et le top 10 reçoit des récompenses mensuelles
Et un événement "MODERATOR_LEADERBOARD_VIEWED" est enregistré
Scénario: Récompenses mensuelles pour top modérateurs
Étant donné le top 10 du mois
Quand le mois se termine
Alors chacun reçoit:
| Rang | Récompense |
| 1-3 | 6 mois Premium gratuit |
| 4-6 | 3 mois Premium gratuit |
| 7-10 | 1 mois Premium gratuit |
Et un badge "Top modérateur du mois"
Et un événement "MONTHLY_MODERATOR_REWARDS_DISTRIBUTED" est enregistré