- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.1 KiB
Guide de Test - Edge Validation
Tests de Validation des Edges
Test 1: Self-Connection Bloquée ✅
Objectif: Vérifier qu'on ne peut pas connecter un node à lui-même
Étapes:
- Ouvrir http://localhost:3000
- Ajouter un node (cliquer sur "Click")
- Essayer de connecter le port de sortie au port d'entrée du même node
Résultat attendu:
- ❌ La connexion est refusée
- 📢 Message d'erreur: "Impossible de connecter un node à lui-même"
- ⏱️ Message disparaît après 4 secondes
Test 2: Connexion en Double Bloquée ✅
Objectif: Vérifier qu'on ne peut pas créer deux fois la même connexion
Étapes:
- Ajouter 2 nodes
- Connecter Node A → Node B
- Essayer de reconnecter Node A → Node B
Résultat attendu:
- ❌ La deuxième connexion est refusée
- 📢 Message d'erreur: "Cette connexion existe déjà"
Test 3: Port d'Entrée Unique ✅
Objectif: Vérifier qu'un port d'entrée ne peut avoir qu'une seule connexion
Étapes:
- Ajouter 3 nodes (A, B, C)
- Connecter Node A → Node C
- Essayer de connecter Node B → Node C (même port d'entrée)
Résultat attendu:
- ❌ La deuxième connexion est refusée
- 📢 Message d'erreur: "Ce port d'entrée a déjà une connexion"
Test 4: Connexion Valide ✅
Objectif: Vérifier qu'une connexion valide est créée
Étapes:
- Ajouter 2 nodes
- Connecter Node A → Node B
Résultat attendu:
- ✅ Edge créé avec animation
- 📊 Compteur d'edges incrémenté
- 🎨 Edge visible entre les nodes
Test 5: Suppression d'Edge ✅
Objectif: Vérifier qu'on peut supprimer un edge
Étapes:
- Créer une connexion entre 2 nodes
- Cliquer sur l'edge pour le sélectionner
- Appuyer sur "Delete"
Résultat attendu:
- ✅ Edge supprimé
- 📊 Compteur d'edges décrémenté
Test 6: Suppression Automatique ✅
Objectif: Vérifier que les edges sont supprimés avec le node
Étapes:
- Créer 3 nodes connectés: A → B → C
- Sélectionner le node B
- Appuyer sur "Delete"
Résultat attendu:
- ✅ Node B supprimé
- ✅ Edges A→B et B→C supprimés automatiquement
- 📊 Compteurs mis à jour
Tests d'Edges Conditionnels
Test 7: Edge Normal ✅
Objectif: Vérifier le rendu d'un edge normal
Étapes:
- Créer une connexion simple entre 2 nodes
Résultat attendu:
- 🎨 Edge gris (#b1b1b7)
- 📏 Largeur 2px
- 🔄 Courbe Bezier
Test 8: Edge Success (Futur) 🔜
Objectif: Vérifier le rendu d'un edge de succès
Note: Cette fonctionnalité sera testée quand les nodes conditionnels seront implémentés
Résultat attendu:
- 🎨 Edge vert (#4caf50)
- 🏷️ Label "Success"
- 💚 Chip vert avec bordure
Test 9: Edge Failure (Futur) 🔜
Objectif: Vérifier le rendu d'un edge d'échec
Note: Cette fonctionnalité sera testée quand les nodes conditionnels seront implémentés
Résultat attendu:
- 🎨 Edge rouge (#f44336)
- 🏷️ Label "Failure"
- ❤️ Chip rouge avec bordure
Test 10: Edge Expression (Futur) 🔜
Objectif: Vérifier le rendu d'un edge avec expression
Note: Cette fonctionnalité sera testée quand les nodes conditionnels seront implémentés
Résultat attendu:
- 🎨 Edge orange (#ff9800)
- 🏷️ Label avec expression
- 🧡 Chip orange avec bordure
Tests de Performance
Test P1: Validation Rapide ✅
Objectif: Vérifier que la validation est instantanée
Étapes:
- Créer 10 nodes
- Essayer de créer plusieurs connexions rapidement
Résultat attendu:
- ⚡ Validation instantanée (<1ms)
- 🎯 Pas de lag visible
- ✅ Messages d'erreur immédiats
Test P2: Détection de Cycles (Futur) 🔜
Objectif: Vérifier la détection de cycles
Note: Cette fonctionnalité sera testée dans une tâche future
Étapes:
- Créer un cycle: A → B → C → A
- Valider le workflow
Résultat attendu:
- ❌ Cycle détecté
- 📢 Message d'erreur approprié
Tests d'Accessibilité
Test A1: Messages Lisibles ✅
Objectif: Vérifier que les messages d'erreur sont lisibles
Étapes:
- Déclencher une erreur de validation
- Observer le message
Résultat attendu:
- 📝 Texte clair et explicite
- 🎨 Bon contraste (rouge sur blanc)
- 📏 Taille de police lisible
Test A2: Auto-Hide ✅
Objectif: Vérifier que les messages disparaissent automatiquement
Étapes:
- Déclencher une erreur
- Attendre 4 secondes
Résultat attendu:
- ⏱️ Message disparaît après 4 secondes
- ✅ Pas de pollution visuelle
Tests de Régression
Test R1: Fonctionnalités Tâche 5 ✅
Objectif: Vérifier qu'aucune régression n'a été introduite
Étapes:
- Tester toutes les fonctionnalités de la Tâche 5
- Vérifier qu'elles fonctionnent toujours
Résultat attendu:
- ✅ Création de nodes
- ✅ Déplacement de nodes
- ✅ Sélection de nodes
- ✅ Suppression de nodes
- ✅ Zoom et panoramique
- ✅ Minimap
Scénarios Complets
Scénario 1: Workflow Simple ✅
Objectif: Créer un workflow simple valide
Étapes:
- Ajouter 3 nodes (A, B, C)
- Connecter A → B
- Connecter B → C
- Vérifier le workflow
Résultat attendu:
- ✅ 3 nodes créés
- ✅ 2 edges créés
- ✅ Workflow valide
- ✅ Pas d'erreur
Scénario 2: Tentatives Invalides ✅
Objectif: Tester plusieurs erreurs de validation
Étapes:
- Ajouter 2 nodes
- Essayer self-connection → Erreur
- Créer connexion valide A → B
- Essayer connexion en double → Erreur
- Essayer connexion B → A (port occupé) → Erreur
Résultat attendu:
- ❌ 3 erreurs détectées
- 📢 3 messages d'erreur affichés
- ✅ 1 seule connexion créée
Scénario 3: Nettoyage ✅
Objectif: Vérifier le nettoyage des edges
Étapes:
- Créer un workflow complexe (5 nodes, 6 edges)
- Supprimer un node central
- Vérifier que les edges sont nettoyés
Résultat attendu:
- ✅ Node supprimé
- ✅ Edges connectés supprimés
- ✅ Autres edges conservés
- 📊 Compteurs corrects
Checklist de Test
Validation
- Self-connection bloquée
- Connexion en double bloquée
- Port d'entrée unique respecté
- Messages d'erreur affichés
- Messages disparaissent après 4s
Edges
- Création d'edges valides
- Sélection d'edges
- Suppression d'edges
- Suppression automatique
- Rendu correct
Performance
- Validation instantanée
- Pas de lag
- 60fps maintenu
Accessibilité
- Messages lisibles
- Bon contraste
- Auto-hide fonctionne
Régression
- Toutes les fonctionnalités Tâche 5 OK
- Pas de bugs introduits
Problèmes Connus
Limitations Actuelles
- Détection de cycles: Implémentée mais pas encore exposée dans l'UI
- Validation des types: Optionnelle, dépend des ports définis
- Undo/Redo: Pas encore implémenté
À Implémenter
- Validation complète du workflow dans l'UI
- Indicateurs visuels pour nodes déconnectés
- Suggestions de correction pour cycles
- Undo/Redo pour les edges
Commandes Utiles
Tester Rapidement
cd visual_workflow_builder
./test_canvas.sh
Voir les Logs
# Frontend
cd visual_workflow_builder/frontend
tail -f frontend.log
# Backend
cd visual_workflow_builder/backend
tail -f server.log
Rebuild
cd visual_workflow_builder/frontend
npm run build
Résolution de Problèmes
Les Messages d'Erreur ne S'Affichent Pas
- Ouvrir la console (F12)
- Vérifier les erreurs JavaScript
- Vérifier que Material-UI est chargé
La Validation ne Fonctionne Pas
- Vérifier que
edgeValidation.tsexiste - Vérifier l'import dans Canvas
- Voir les logs de la console
Les Edges ne Sont Pas Stylés
- Vérifier que
CustomEdge.tsxexiste - Vérifier l'enregistrement dans
edgeTypes - Vérifier les imports Material-UI
Feedback
Si vous rencontrez des problèmes:
- Noter le problème exact
- Capturer une capture d'écran
- Noter les étapes pour reproduire
- Vérifier les logs (console + fichiers)
Version: 1.0.0
Date: 2 décembre 2024
Statut: ✅ Validation des Edges Opérationnelle