veza/docs/SMOKE_TEST_V0981.md

173 lines
4.8 KiB
Markdown
Raw Normal View History

# Smoke Test v0.981 — Bug Bash Checklist
**Objectif** : Valider les 5 flux critiques du bug bash v0.981 Beta sur l'environnement staging.
---
## Prérequis
- [ ] Staging déployé selon [STAGING_DEPLOYMENT.md](STAGING_DEPLOYMENT.md)
- [ ] `GET /api/v1/health/deep` retourne 200 avec status healthy
- [ ] Frontend accessible (page de login affichée)
- [ ] Tokens JWT disponibles pour les tests authentifiés
---
## 1. Flux Auth
### 1.1 Register
- [ ] `POST /api/v1/auth/register` avec email, password, username → 201
- [ ] Email de vérification reçu (si configuré)
### 1.2 Login
- [ ] `POST /api/v1/auth/login` avec credentials valides → 200, tokens retournés
- [ ] Token JWT valide pour les requêtes protégées
### 1.3 2FA (setup / verify / disable)
- [ ] Setup 2FA : activer TOTP → QR code ou secret affiché
- [ ] Verify 2FA : `POST /api/v1/auth/login/2fa` avec code → 200
- [ ] Disable 2FA : désactiver (route appropriée) → succès
### 1.4 OAuth
- [ ] OAuth Google : initier flow → callback → compte lié
- [ ] OAuth GitHub : initier flow → callback → compte lié
### 1.5 Logout et sessions
- [ ] `POST /api/v1/auth/logout` → session révoquée
- [ ] Token refresh : `POST /api/v1/auth/refresh` → nouveau token
- [ ] Session list : lister sessions actives
- [ ] Session revoke : révoquer une session
### 1.6 Password reset
- [ ] Demander reset : email envoyé
- [ ] Compléter reset avec token → nouveau mot de passe actif
### 1.7 Account deletion
- [ ] `DELETE /api/v1/users/me` (ou équivalent) → compte supprimé
- [ ] Tentative de login avec email supprimé → 401
**Exemples curl** :
```bash
# Register
curl -s -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"SecurePass123!","username":"testuser"}' | jq .
# Login
curl -s -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"SecurePass123!"}' | jq .
```
---
## 2. Flux Commerce
### 2.1 Browse marketplace
- [ ] `GET /api/v1/marketplace/products` → liste paginée
- [ ] Recherche et filtres fonctionnent
### 2.2 Cart et checkout
- [ ] Add to cart : ajouter produit au panier
- [ ] Promo code : appliquer code promo → réduction affichée
- [ ] Checkout : initier paiement Hyperswitch (sandbox)
- [ ] Order confirmation : après paiement simulé → commande créée
### 2.3 Post-achat
- [ ] Download : télécharger le fichier acheté
- [ ] Review : laisser une évaluation
- [ ] Refund : demander remboursement (si applicable)
### 2.4 Seller
- [ ] Seller dashboard : voir ventes, statistiques
- [ ] Transfers : voir les virements versés
---
## 3. Flux Média
### 3.1 Upload et transcodage
- [ ] Upload track : upload fichier audio → track créé
- [ ] Transcode HLS : transcodage lancé → segments HLS disponibles
- [ ] Playback : lecture du track en streaming
### 3.2 Queue et playlists
- [ ] Queue : ajouter à la file, réordonner, supprimer
- [ ] Playlist create : créer une playlist
- [ ] Playlist share : partager un lien
- [ ] Playlist collab : collaborer (si applicable)
### 3.3 Recherche et analytics
- [ ] Search : recherche tracks, artists, albums
- [ ] Analytics : vues, écoutes (dashboard créateur)
### 3.4 Cloud storage
- [ ] Cloud upload : upload fichier vers cloud
- [ ] Version : gestion des versions
- [ ] Share : partage de fichier cloud
---
## 4. Flux Social
### 4.1 Feed
- [ ] Create post : créer une publication
- [ ] Like : liker un post
- [ ] Comment : commenter un post
### 4.2 Relations
- [ ] Follow : suivre un utilisateur
- [ ] Block : bloquer un utilisateur
### 4.3 Groupes
- [ ] Group create : créer un groupe
- [ ] Group join : rejoindre un groupe
- [ ] Group leave : quitter un groupe
### 4.4 Notifications
- [ ] Liste des notifications affichée
- [ ] Marquer comme lu
### 4.5 Chat
- [ ] Envoyer un message
- [ ] Réception en temps réel (WebSocket)
- [ ] Historique des conversations
---
## 5. WebRTC Beta
### 5.1 Badge et UX
- [ ] Badge "Beta" visible sur le bouton d'appel (CallButton)
- [ ] Tooltip "Fonctionne mieux sur le même réseau local" affiché
### 5.2 Appel audio en LAN
- [ ] Initier un appel audio entre deux clients sur le même réseau
- [ ] Signalisation (Offer/Answer/ICE) fonctionne
- [ ] Audio bidirectionnel établi (ou message d'échec attendu si NAT)
---
## 6. Vérifications techniques
### 6.1 Health
```bash
curl -s http://localhost:8080/api/v1/health | jq .
curl -s http://localhost:8080/api/v1/health/deep | jq .
```
### 6.2 Stream server
```bash
curl -s http://localhost:3001/health | jq .
```
### 6.3 Frontend
- [ ] Page login s'affiche sans erreur console
- [ ] Navigation vers dashboard après login
---
## Suivi des bugs
Documenter tout bug trouvé dans [BUG_BASH_V0981.md](BUG_BASH_V0981.md) avec : flux, description, sévérité (P1/P2/P3), statut.