feat(gherkin): améliorer scénarios content-creation avec edge cases

- Ajouter scénarios edge cases pour robustesse production
- Aligner fichiers Gherkin avec règles métier section 4
- Préciser suppression OVH Object Storage + NGINX Cache
- Ajouter gestion états transitoires (encodage, validation)
- Ajouter limites et timeouts (uploads, brouillons)

Scénarios ajoutés :
- upload-encodage : timeout, reprise, limites uploads, conservation fichiers
- modification-suppression : suppression pendant encodage, blocage modification en validation
- metadonnees-publication : blocage pendant encodage, limite brouillons, nettoyage auto
- validation-premiers-contenus : verrouillage concurrence modérateurs

Total : +12 scénarios pour 137 scénarios au total
This commit is contained in:
jpgiannetti
2026-02-01 21:21:09 +01:00
parent 2365b7f344
commit 267f574467
7 changed files with 127 additions and 302 deletions

View File

@@ -230,3 +230,21 @@ Fonctionnalité: Métadonnées et publication de contenu
Quand j'accède à mes contenus
Alors je vois le brouillon avec statut "📝 Brouillon"
Et je peux reprendre la publication
Scénario: Impossible de publier pendant encodage en cours
Étant donné que mon fichier est en cours d'encodage
Quand j'essaie de remplir les métadonnées
Alors je vois le message "Encodage en cours, veuillez patienter"
Et l'interface de publication est désactivée
Scénario: Limite de 10 brouillons maximum
Étant donné que j'ai déjà 10 brouillons sauvegardés
Quand j'essaie de créer un 11ème brouillon
Alors le brouillon est refusé
Et je vois le message "Maximum 10 brouillons. Publiez ou supprimez un brouillon existant."
Scénario: Suppression automatique brouillons après 30 jours
Étant donné que j'ai un brouillon de plus de 30 jours
Quand le système effectue le nettoyage automatique
Alors le brouillon est supprimé automatiquement
Et je reçois une notification "Brouillon '[Titre]' supprimé (>30 jours)"

View File

@@ -142,10 +142,10 @@ Fonctionnalité: Modification et suppression de contenu
Alors la récupération est impossible
Et le contenu est définitivement perdu
Scénario: Suppression BDD + CDN sous 5 minutes
Scénario: Suppression BDD + Cache sous 5 minutes
Quand je supprime un contenu
Alors l'entrée en base de données est marquée "deleted"
Et les fichiers CDN sont marqués pour suppression
Et les fichiers sont marqués pour suppression
Et la suppression effective a lieu sous 5 minutes
Scénario: Historique auditeurs conservé anonymisé
@@ -166,10 +166,11 @@ Fonctionnalité: Modification et suppression de contenu
| Auteur | (anonymisé) |
Et c'est conforme RGPD
Scénario: Fichiers CDN supprimés sous 24h
Scénario: Fichiers Cache + Storage supprimés sous 24h
Étant donné que mon contenu est supprimé
Quand 24 heures s'écoulent
Alors tous les fichiers audio sont purgés du NGINX Cache
Et tous les fichiers sont supprimés de OVH Object Storage
Et l'espace de stockage est libéré
Scénario: Pas de notification aux auditeurs
@@ -219,3 +220,16 @@ Fonctionnalité: Modification et suppression de contenu
| 20/01/2026 | Tags modifiés |
| 19/01/2026 | Description ajoutée |
Et je peux tracer toutes les modifications
Scénario: Suppression d'un contenu en cours d'encodage
Étant donné que mon contenu est en cours d'encodage (50%)
Quand je supprime le contenu
Alors l'encodage est annulé immédiatement
Et le fichier temporaire est supprimé
Et je vois le message "Contenu et encodage supprimés"
Scénario: Impossible de modifier un contenu en cours de validation
Étant donné que mon contenu est en file de validation
Quand j'essaie de modifier le titre
Alors la modification est refusée
Et je vois le message "Impossible de modifier pendant la validation"

View File

@@ -191,3 +191,41 @@ Fonctionnalité: Upload et encodage de contenu audio
Quand je clique sur "Réessayer"
Alors un nouveau job d'encodage est lancé
Et je peux tenter à nouveau
Scénario: Timeout upload après 30 minutes
Étant donné que mon upload dure plus de 30 minutes
Quand le timeout est atteint
Alors l'upload est annulé
Et je vois le message "Upload interrompu, veuillez réessayer"
Et je peux reprendre l'upload
Scénario: Reprise upload après interruption réseau
Étant donné que mon upload a échoué à 75%
Quand je clique sur "Reprendre"
Alors l'upload reprend à partir de 75%
Et le fichier partiel est conservé temporairement
Scénario: Limite de 3 uploads simultanés
Étant donné que j'ai déjà 3 uploads en cours
Quand j'essaie d'uploader un 4ème fichier
Alors l'upload est refusé
Et je vois le message "Maximum 3 uploads simultanés. Attendez qu'un upload se termine."
Scénario: Détection fichier corrompu pendant upload
Étant donné que j'uploade un fichier MP3 corrompu
Quand le backend détecte la corruption
Alors l'upload est rejeté immédiatement
Et je vois le message "Fichier corrompu, veuillez vérifier votre fichier"
Et je n'attends pas la fin de l'encodage
Scénario: Fichier original conservé pendant 48h après échec
Étant donné que mon encodage a échoué
Quand je clique sur "Réessayer" dans les 48h
Alors le fichier original est encore disponible
Et un nouvel encodage démarre sans réupload
Scénario: Fichier original supprimé après 48h
Étant donné que mon encodage a échoué il y a 48h
Quand j'essaie de réessayer
Alors je dois réuploader le fichier
Et je vois le message "Fichier original expiré, veuillez réuploader"

View File

@@ -209,3 +209,9 @@ Fonctionnalité: Validation des 3 premiers contenus
| Vérification metadata| 15s |
| Décision | 5s |
| Total | 110s |
Scénario: Verrouillage contenu pendant traitement modérateur
Étant donné que le modérateur A ouvre un contenu pour validation
Quand le modérateur B essaie d'ouvrir le même contenu
Alors le modérateur B voit le message "Contenu en cours de traitement par [Modérateur A]"
Et le contenu est verrouillé pour éviter doublon