- Moved CONTEXT_MENU_INDEX.md and CONTEXT_MENU_VERIFICATION.md into docs/ directory for better organization - Consolidated all context menu documentation files in one location for easier maintenance - Documentation remains complete with 1000+ lines covering implementation, integration, and verification The change improves documentation structure by moving context menu related files into a dedicated docs folder, making it easier for developers to find an
7.6 KiB
UrlStateService Integration - Test Guide
🎯 Objectif
Valider que la navigation via les URLs fonctionne parfaitement dans ObsiViewer avec le UrlStateService intégré à AppComponent.
✅ Prérequis
- Backend:
node server/index.mjs(port 4000) - Frontend:
npm run dev(port 3000) - Navigateur: Chrome/Edge/Firefox
- Mode Nimbus activé (interface nouvelle)
📋 Test Plan
Phase 1: Tests d'URLs simples
Test 1.1: Ouvrir une note via URL
URL: http://localhost:3000/?note=Allo-3/test-new-file.md
Attendu:
- Note "test-new-file.md" s'ouvre dans la vue principale
- Dossier "Allo-3" est sélectionné dans la sidebar
- L'URL reste
?note=Allo-3/test-new-file.md - Sur mobile/tablette: onglet "Page" devient actif
Résultat: ✅ / ❌ Notes:
Test 1.2: Filtrer par dossier via URL
URL: http://localhost:3000/?folder=Allo-3
Attendu:
- Liste des notes filtrée pour afficher seulement "Allo-3"
- Dossier "Allo-3" est sélectionné
- Aucune note n'est pré-sélectionnée (première note du dossier si auto-select)
- L'URL reste
?folder=Allo-3
Résultat: ✅ / ❌ Notes:
Test 1.3: Filtrer par tag via URL
URL: http://localhost:3000/?tag=home
Attendu:
- Vue "Recherche" s'ouvre
- Liste filtrée pour afficher seulement les notes avec tag "home"
- Barre de recherche affiche "tag:home"
- L'URL reste
?tag=home
Résultat: ✅ / ❌ Notes:
Test 1.4: Filtrer par quick link via URL
URL: http://localhost:3000/?quick=Favoris
Attendu:
- Liste filtrée pour afficher seulement les notes marquées comme favoris
- Badge "Favoris" visible dans la liste
- L'URL reste
?quick=Favoris
Résultat: ✅ / ❌ Notes:
Test 1.5: Recherche via URL
URL: http://localhost:3000/?search=home
Attendu:
- Barre de recherche affiche "home"
- Liste filtrée pour afficher les notes contenant "home"
- L'URL reste
?search=home
Résultat: ✅ / ❌ Notes:
Phase 2: Tests de combinaisons
Test 2.1: Dossier + Note
URL: http://localhost:3000/?folder=Allo-3¬e=Allo-3/test-new-file.md
Attendu:
- Note "test-new-file.md" s'ouvre
- Dossier "Allo-3" est sélectionné
- L'URL affiche les deux paramètres
- Priorité: note > folder (note s'ouvre)
Résultat: ✅ / ❌ Notes:
Test 2.2: Tag + Recherche
URL: http://localhost:3000/?tag=home&search=test
Attendu:
- Vue "Recherche" s'ouvre
- Barre de recherche affiche "tag:home"
- Liste filtrée par tag "home" ET contenant "test"
- L'URL affiche les deux paramètres
Résultat: ✅ / ❌ Notes:
Test 2.3: Folder + Search
URL: http://localhost:3000/?folder=Allo-3&search=test
Attendu:
- Liste filtrée pour dossier "Allo-3"
- Barre de recherche affiche "test"
- Seules les notes du dossier "Allo-3" contenant "test" s'affichent
- L'URL affiche les deux paramètres
Résultat: ✅ / ❌ Notes:
Phase 3: Tests d'interactions
Test 3.1: Cliquer un dossier → URL change
Étapes:
- Commencer à
http://localhost:3000/ - Cliquer sur le dossier "Allo-3" dans la sidebar
Attendu:
- L'URL change vers
?folder=Allo-3 - Liste filtrée pour "Allo-3"
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Test 3.2: Cliquer une note → URL change
Étapes:
- Commencer à
http://localhost:3000/?folder=Allo-3 - Cliquer sur une note dans la liste
Attendu:
- L'URL change vers
?folder=Allo-3¬e=Allo-3/... - Note s'ouvre dans la vue principale
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Test 3.3: Cliquer un tag → URL change
Étapes:
- Ouvrir une note
- Cliquer sur un tag dans le contenu de la note
Attendu:
- L'URL change vers
?tag=... - Vue "Recherche" s'ouvre
- Barre de recherche affiche "tag:..."
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Test 3.4: Saisir une recherche → URL change
Étapes:
- Commencer à
http://localhost:3000/ - Saisir "test" dans la barre de recherche
Attendu:
- L'URL change vers
?search=test - Liste filtrée pour "test"
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Test 3.5: Choisir un quick link → URL change
Étapes:
- Commencer à
http://localhost:3000/ - Cliquer sur "Favoris" dans les quick links
Attendu:
- L'URL change vers
?quick=Favoris - Liste filtrée pour les favoris
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Phase 4: Tests de navigation
Test 4.1: Back navigateur
Étapes:
- Aller à
http://localhost:3000/?folder=Allo-3 - Cliquer sur une note
- Cliquer le bouton "Retour" du navigateur
Attendu:
- L'URL revient à
?folder=Allo-3 - La note se ferme
- Liste filtrée pour "Allo-3"
Résultat: ✅ / ❌ Notes:
Test 4.2: Forward navigateur
Étapes:
- Faire le test 4.1 jusqu'à cliquer "Retour"
- Cliquer le bouton "Avancer" du navigateur
Attendu:
- L'URL revient à
?folder=Allo-3¬e=... - La note s'ouvre
- Pas de rechargement de page
Résultat: ✅ / ❌ Notes:
Test 4.3: Rechargement page
Étapes:
- Aller à
http://localhost:3000/?folder=Allo-3¬e=Allo-3/test.md - Appuyer F5 (rechargement)
Attendu:
- Page se recharge
- L'URL reste
?folder=Allo-3¬e=Allo-3/test.md - Après rechargement: dossier "Allo-3" sélectionné
- Après rechargement: note "test.md" ouverte
- Pas d'écran bleu ou vide
Résultat: ✅ / ❌ Notes:
Phase 5: Tests de cas limites
Test 5.1: Note inexistante
URL: http://localhost:3000/?note=NonExistent/file.md
Attendu:
- Pas d'erreur dans la console
- Aucune note n'est sélectionnée
- L'URL reste
?note=NonExistent/file.md - Message "Aucune note sélectionnée" s'affiche
Résultat: ✅ / ❌ Notes:
Test 5.2: Tag inexistant
URL: http://localhost:3000/?tag=NonExistentTag
Attendu:
- Pas d'erreur dans la console
- Vue "Recherche" s'ouvre
- Aucune note n'est affichée
- Message "Aucun résultat" ou liste vide
Résultat: ✅ / ❌ Notes:
Test 5.3: Dossier inexistant
URL: http://localhost:3000/?folder=NonExistentFolder
Attendu:
- Pas d'erreur dans la console
- Liste vide ou message d'erreur
- L'URL reste
?folder=NonExistentFolder
Résultat: ✅ / ❌ Notes:
Test 5.4: Paramètres vides
URL: http://localhost:3000/?note=&folder=&tag=
Attendu:
- Pas d'erreur dans la console
- Comportement par défaut (première note sélectionnée)
- Pas de filtre appliqué
Résultat: ✅ / ❌ Notes:
📊 Résumé des résultats
| Phase | Tests | Réussis | Échoués | Notes |
|---|---|---|---|---|
| 1 | 5 | |||
| 2 | 3 | |||
| 3 | 5 | |||
| 4 | 3 | |||
| 5 | 4 | |||
| TOTAL | 20 |
🐛 Bugs trouvés
Bug 1
Description: URL de reproduction: Étapes: Résultat attendu: Résultat réel: Sévérité: 🔴 Critique / 🟠 Majeur / 🟡 Mineur
Bug 2
Description: URL de reproduction: Étapes: Résultat attendu: Résultat réel: Sévérité: 🔴 Critique / 🟠 Majeur / 🟡 Mineur
✅ Conclusion
Date de test: Testeur: Statut global: ✅ RÉUSSI / ⚠️ PARTIEL / ❌ ÉCHOUÉ Commentaires: