5.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			5.8 KiB
		
	
	
	
	
	
	
	
Trash Explorer - Checklist d'Acceptation
Configuration Préalable
- Backend démarré: 
node server/index.mjs - Frontend démarré: 
npm run dev(port 3001) - Fichiers test présents dans 
vault/.trash/:deleted-note-1.mdold-folder/old-note-2.mdold-folder/old-note-3.mdarchive/archived-note.md
 
Affichage de l'Arborescence
- Ouvrir Sidebar → Section "Trash"
 - ✅ L'arborescence s'affiche correctement
 - ✅ Deux dossiers visibles: "old-folder" et "archive"
 - ✅ Icônes dossiers (📁) affichées
 - ✅ Chevrons (›) présents et alignés à gauche
 - ✅ Noms des dossiers visibles et lisibles
 - ✅ Badges de compte visibles à droite
 
Comptage des Notes
- Badge "old-folder": affiche 2
 - Badge "archive": affiche 1
 - Badge "deleted-note-1" (si fichier racine affiché): affiche 1 ou n'apparaît pas si foldersOnly
 
Interaction avec Notes-liste
Test 1: Clic sur "old-folder"
- Cliquer sur le dossier "old-folder" dans Trash
 - ✅ Notes-liste se met à jour instantanément
 - ✅ 2 notes affichées: "Old Note 2" et "Old Note 3"
 - ✅ Les chemins affichés commencent par 
.trash/old-folder/ 
Test 2: Clic sur "archive"
- Cliquer sur le dossier "archive" dans Trash
 - ✅ Notes-liste affiche 1 note: "Archived Note"
 - ✅ Le chemin affiché est 
.trash/archive/archived-note.md 
Test 3: Retour à "All Notes"
- Cliquer sur Quick Links → "All Notes"
 - ✅ Notes-liste affiche toutes les notes (y compris trash)
 - ✅ Le filtre trash est désactivé
 
Filtrage dans Section Folders
- Ouvrir Section "Folders" dans Sidebar
 - ✅ Le dossier 
.trashN'apparaît PAS dans la liste - ✅ Seuls les dossiers normaux du vault sont visibles
 - ✅ Cliquer un dossier normal fonctionne toujours
 
États Visuels (Hover, Sélection)
Hover
- Survoler un dossier dans Trash
 - ✅ Background change au hover (bg-slate-500/10)
 - ✅ Cohérent avec Quick Links et Folders
 
Sélection (optionnel)
- Cliquer un dossier dans Trash
 - ✅ Dossier se toggle ouvert/fermé si sous-dossiers
 - ✅ Pas de bug visuel (double sélection, etc.)
 
Dark Mode
- Activer Dark Mode dans l'UI
 - ✅ Section Trash lisible en dark mode
 - ✅ Badges visibles (opacity correcte)
 - ✅ Hover fonctionne (bg-slate-200/10 en dark)
 - ✅ Texte visible (text-obs-d-text-muted)
 
Gestion des Cas Vides/Erreurs
Test 1: Trash vide
- Vider le dossier 
.trash(déplacer tous les fichiers ailleurs) - Recharger l'app
 - ✅ Message "La corbeille est vide" affiché
 - ✅ Pas d'erreur dans la console
 - ✅ Pas de liste vide non stylée
 
Test 2: Trash absent
- Supprimer le dossier 
.trashdu vault - Recharger l'app
 - ✅ Message "La corbeille est vide" affiché OU section Trash cachée
 - ✅ Pas d'erreur dans la console
 
Test 3: Erreur API
- Arrêter le backend (Ctrl+C sur 
node server/index.mjs) - Recharger la page
 - ✅ Pas de crash de l'app
 - ✅ Message d'erreur discret (toast ou empty state)
 
Robustesse
Noms spéciaux
- Créer un dossier avec espaces: 
old notes with spaces - Créer un dossier avec accents: 
archivé - Créer un dossier avec Unicode: 
档案-📁 - ✅ Tous les dossiers s'affichent correctement
 - ✅ Les clics fonctionnent sur tous
 
Profondeur
- Créer une structure profonde: 
.trash/a/b/c/d/note.md - ✅ L'arborescence se construit correctement
 - ✅ Les badges comptent récursivement
 - ✅ Le clic sur niveau profond fonctionne
 
Performance
- Créer 50 notes dans 
.trash/perf-test/ - Recharger l'app
 - ✅ Section Trash se charge en < 1 seconde
 - ✅ Pas de freeze de l'UI
 - ✅ Badge affiche "50" correctement
 
Accessibilité (Bonus)
- Navigation au clavier (Tab, Enter, Arrow keys)
 - ✅ Focus visible sur les dossiers
 - ✅ Enter ouvre/ferme un dossier
 - ARIA attributes présents (role, aria-expanded, aria-label)
 
Régression
- Quick Links fonctionne toujours
- All Notes
 - Favorites
 - Templates
 - Tasks
 - Drafts
 - Archive
 
 - Section Folders fonctionne toujours
 - Section Tags fonctionne toujours
 - Graph view non affecté
 - Note viewer non affecté
 
Tests E2E (À automatiser)
npm run test:e2e -- trash.spec.ts
- ✅ Tous les tests passent
 - Pas de timeout
 - Coverage > 80% sur TrashExplorerComponent
 
Validation Finale
Développeur
- ✅ Code review effectué
 - ✅ Pas de console.log oublié
 - ✅ Pas de TODO/FIXME critique
 - ✅ Types TypeScript corrects
 - ✅ Formatting (Prettier) appliqué
 
QA
- ✅ Tous les critères ci-dessus validés
 - ✅ Pas de bug visuel
 - ✅ Pas de régression sur autres features
 
Product Owner
- ✅ Répond au besoin utilisateur
 - ✅ UX cohérente avec reste de l'app
 - ✅ Prêt pour production
 
Instructions de Test Rapide
# Terminal 1: Backend
cd c:\dev\git\web\ObsiViewer
node server/index.mjs
# Terminal 2: Frontend  
npm run dev -- --port 3001
# Navigateur
http://localhost:3001
# Actions
1. Sidebar → Trash (clic sur ▸)
2. Clic sur "old-folder"
3. Vérifier que Notes-liste affiche 2 notes
4. Vérifier badge "2" sur old-folder
5. Vérifier que .trash absent de section Folders
Logs Endpoints à Vérifier
GET /api/vault → 200 OK (notes chargées)
GET /api/files/metadata → 200 OK (métadonnées chargées)
Console: [TrashTree] logs si debug activé
Console: Pas d'erreur Angular
Date: 2025-10-19
Version: ObsiViewer 0.0.0
Testeur: _________________
Statut: ☐ À tester | ☐ En cours | ☐ ✅ Validé | ☐ ❌ Bloquant