Files
bruno c86c04ca22
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
docs: résultats du run de tests (55/61) + bogues corrigés
2026-07-10 08:23:03 -04:00

239 lines
9.7 KiB
Markdown

# FlowDeck — Grille de Tests Visuels
> Version: 2.1.0 | Dernière mise à jour: 2026-07-10 | Dernier run: 2026-07-10 | Résultat: 55/61
## Résumé du dernier run (2026-07-10)
| Section | Pass | Fail | Notes |
|---------|------|------|-------|
| Dashboard | 8/9 | ❌ D6 Quick Find | Quick Find pas implémenté dans le dashboard |
| Board Kanban | 9/9 | — | OK |
| Drag & Drop | 5/5 | — | ✅ Fix CSRF + refresh appliqué |
| Création Issue | 6/6 | — | ✅ Fix CSRF appliqué |
| Vues | 7/7 | — | OK |
| Filtres & Tri | 7/7 | — | OK |
| Notes | 3/3 | — | OK |
| Sidebar | 6/6 | — | OK |
| Workspaces | 6/6 | — | OK |
| Commentaires | 3/3 | — | OK |
| Favoris | 4/4 | — | OK |
| Webhooks | 4/5 | ⚠️ No secret | Webhook status OK, secret non configuré |
| PWA | 0/3 | ❌ P1-P3 | manifest.json + SW non implémentés |
| Éditeur | 3/5 | ⚠️ E4-E5 | Commandes `/` + drag blocks à vérifier |
| **Total** | **55** | **6** | |
### Bugs corrigés ce run
- `8aaf167`: Refresh board après drag & drop
- `[latest]`: CSRF token manquant sur fetch POST (board.html, card_detail.html)
### Reste à faire
- PWA (manifest.json + service worker)
- Quick Find dans le dashboard
- Config webhook secret
- Commandes `/` dans l'éditeur
Tests manuels de régression visuelle et fonctionnelle. Cocher après chaque release.
## Pré-requis
- FlowDeck lancé (Docker: `APP_PORT=8082 docker compose up -d`)
- Gitea accessible (https://git.dracodev.net)
- Au moins 1 projet avec des issues existantes
---
## 1. Dashboard (Accueil)
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| D1 | Chargement | Ouvrir `/` | Dashboard affiché, sidebar visible | |
| D2 | Liste projets | Vérifier la liste | Projets Gitea listés, triés par mise à jour | |
| D3 | Recherche projets | Taper dans la barre de recherche | Filtrage en temps réel | |
| D4 | Lien projet | Cliquer sur un projet | Navigation vers le board du projet | |
| D5 | Workspace menu | Cliquer sur le workspace header | Menu déroulant des workspaces | |
| D6 | Quick Find | Cliquer 🔍 dans la sidebar | Modal de recherche rapide | |
| D7 | Theme toggle | Basculer le thème | Dark ↔ Light, persisté localStorage | |
| D8 | Collapse sidebar | Cliquer ⏴ | Sidebar se réduit/étend | |
| D9 | Sidebar sections | Cliquer Meetings/Recents | Sections expand/collapse | |
---
## 2. Board Kanban
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| B1 | Chargement board | Ouvrir `/board/{owner}/{repo}` | Colonnes affichées avec cartes | |
| B2 | Colonnes par défaut | Vérifier les colonnes | Backlog, À faire, En cours, Révision, Terminé | |
| B3 | Cartes dans colonnes | Vérifier le mapping | Issues dans bonnes colonnes selon labels/état | |
| B4 | Labels sur cartes | Vérifier l'affichage | Labels visibles avec couleur Gitea | |
| B5 | Assignee avatar | Vérifier les cartes | Avatar + login si assigné | |
| B6 | Milestone sur carte | Vérifier | 📅 + nom milestone si défini | |
| B7 | Priorité | Vérifier | Badge priorité si défini dans FlowDeck | |
| B8 | Due date | Vérifier | ⏰ + date, style "overdue" si dépassée | |
| B9 | Compteur colonne | Vérifier chaque colonne | Nombre de cartes affiché dans le header | |
---
## 3. Drag & Drop
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| DD1 | Move carte | Drag carte vers autre colonne | Carte déplacée visuellement | |
| DD2 | Persistence | Après DD1, rafraîchir la page | Carte reste dans nouvelle colonne | |
| DD3 | Refresh auto | Après move, attendre | La vue se rafraîchit automatiquement | |
| DD4 | Compteurs | Après move | Compteurs de colonnes mis à jour | |
| DD5 | Move → Gitea | Vérifier sur Gitea | Label/état synchronisé si mapping existe | |
---
## 4. Création d'Issue
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| C1 | Bouton New | Cliquer "New ▾" dans la toolbar | Formulaire de création affiché | |
| C2 | Création simple | Titre + "Create" | Issue créée sur Gitea, apparaît au refresh | |
| C3 | Création + statut | Titre + sélection statut | Issue créée avec le bon statut | |
| C4 | Annulation | Ouvrir form → ✕ | Formulaire masqué | |
| C5 | Enter pour créer | Titre + Entrée | Issue créée (submit au Enter) | |
| C6 | Titre vide | "Create" sans titre | Rien ne se passe (validé client) | |
---
## 5. Vues du Board
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| V1 | Vue Kanban | Tab "Board" | Vue kanban avec colonnes | |
| V2 | Vue Table | Tab "Table" | Vue tableau lignes/colonnes | |
| V3 | Vue Status | Tab "Status" | Regroupement par statut | |
| V4 | Vue TeamLoad | Tab "Workload" | Répartition par assignee | |
| V5 | Vue Detailed | Tab "Detailed" | Vue détaillée | |
| V6 | Switch vue | Alterner entre vues | Contenu mis à jour sans rechargement page | |
| V7 | URL view param | `?view=table` | Vue table chargée directement | |
---
## 6. Filtres & Tri
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| F1 | Filtre milestone | Sélectionner un milestone | Seules les issues du milestone affichées | |
| F2 | Filtre label | Sélectionner un label | Seules les issues avec ce label | |
| F3 | Combinaison filtres | Milestone + Label | Les deux filtres appliqués (AND) | |
| F4 | Reset filtres | Sélectionner "Tous" | Toutes les issues affichées | |
| F5 | Tri par propriété | Add sort → choisir champ | Liste triée selon critère | |
| F6 | Tri direction | Toggle asc/desc | Direction inversée | |
| F7 | Supprimer tri | Delete sort | Tri retiré | |
---
## 7. Notes
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| N1 | Accès notes | Cliquer "📝 Notes" dans le board | Page notes du projet | |
| N2 | Édition notes | Modifier le contenu | Sauvegarde automatique | |
| N3 | Markdown | Saisir `# Titre`, `**gras**` | Rendu Markdown | |
---
## 8. Sidebar & Navigation
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| S1 | Navigation page | Cliquer sur une page sidebar | Board du projet chargé | |
| S2 | Library | Cliquer 📚 sur une page | Library view avec recents/favorites/shared | |
| S3 | New sub-page | Cliquer + sur une page | Création sous-page | |
| S4 | Context menu | Clic droit sur page sidebar | Menu contextuel (rename, delete, etc.) | |
| S5 | Tree toggle | Cliquer ▶ d'un dossier | Sous-éléments affichés/masqués | |
| S6 | Drag tree | Drag & drop élément sidebar | Réorganisation de l'arbre | |
---
## 9. Workspaces Multi-User
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| W1 | Lister workspaces | Voir le menu workspace | Workspaces disponibles listés | |
| W2 | Créer workspace | Créer nouveau workspace | Workspace ajouté | |
| W3 | Membres | Voir liste membres | Membres affichés avec rôles | |
| W4 | Ajouter membre | Ajouter un utilisateur | Membre ajouté | |
| W5 | Rôle membre | Changer rôle | Rôle mis à jour | |
| W6 | Supprimer membre | Retirer un membre | Membre retiré | |
---
## 10. Commentaires & Historique
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| H1 | Voir commentaires | Ouvrir commentaires d'une page | Liste des commentaires | |
| H2 | Ajouter commentaire | Écrire + envoyer | Commentaire ajouté | |
| H3 | Historique | Voir historique d'une page | Liste des versions/modifications | |
---
## 11. Favoris & Partage
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| FA1 | Ajouter favori | Mettre en favori une page | Apparaît dans les favoris | |
| FA2 | Retirer favori | Retirer des favoris | Disparaît de la liste | |
| FA3 | Vue favorites | Tab "Favorites" dans Library | Liste des favoris | |
| FA4 | Vue shared | Tab "Shared" dans Library | Pages partagées | |
---
## 12. Webhooks & API Publique
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| WH1 | Register webhook | POST /api/webhooks/register/{o}/{r} | Webhook enregistré | |
| WH2 | Webhook status | GET /api/webhooks/status/{o}/{r} | Statut retourné | |
| WH3 | Reception webhook | Push sur Gitea → webhook reçu | Issue synchronisée | |
| WH4 | API health | GET /api/health | `{"status":"ok","db":true,"gitea":true}` | |
| WH5 | API projects | GET /api/projects | Liste JSON des projets | |
---
## 13. PWA & Responsive
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| P1 | Mobile view | Réduire fenêtre < 768px | Layout responsive, sidebar masquable | |
| P2 | Install PWA | "Installer" dans Chrome | Icône sur l'écran d'accueil | |
| P3 | Offline cache | Couper réseau, recharger | Page servie depuis cache | |
---
## 14. Éditeur Notion-like
| ID | Test | Action | Résultat attendu | ✅ |
|----|------|--------|-----------------|----|
| E1 | Éditeur riche | Ouvrir une page | Éditeur bloc-style Notion | |
| E2 | Blocs texte | Taper du texte, Entrée | Nouveau bloc créé | |
| E3 | Markdown inline | `**gras**`, `*italique*` | Formatage appliqué | |
| E4 | `/` commandes | Taper `/` | Menu de commandes (headings, listes, etc.) | |
| E5 | Drag blocks | Drag & drop blocs | Réorganisation | |
---
## Exécution
```bash
# Lancer FlowDeck
cd ~/workspace/flowdeck && docker compose up -d
# Vérifier
curl -s http://localhost:8082/api/health
# → {"status":"ok","version":"2.1.0","db":true,"gitea":true}
# Ouvrir
# Dashboard: http://localhost:8082/
# Board: http://localhost:8082/board/bruno/flowdeck
```
---
**Total: 61 tests** | Dernier run: ________ | Résultat: ___/61