Files
rpa_vision_v3/visual_workflow_builder/TEST_EDGES.md
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- 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>
2026-01-29 11:23:51 +01:00

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:

  1. Ouvrir http://localhost:3000
  2. Ajouter un node (cliquer sur "Click")
  3. 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:

  1. Ajouter 2 nodes
  2. Connecter Node A → Node B
  3. 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:

  1. Ajouter 3 nodes (A, B, C)
  2. Connecter Node A → Node C
  3. 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:

  1. Ajouter 2 nodes
  2. 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:

  1. Créer une connexion entre 2 nodes
  2. Cliquer sur l'edge pour le sélectionner
  3. 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:

  1. Créer 3 nodes connectés: A → B → C
  2. Sélectionner le node B
  3. 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:

  1. 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:

  1. Créer 10 nodes
  2. 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:

  1. Créer un cycle: A → B → C → A
  2. 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:

  1. Déclencher une erreur de validation
  2. 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:

  1. Déclencher une erreur
  2. 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:

  1. Tester toutes les fonctionnalités de la Tâche 5
  2. 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:

  1. Ajouter 3 nodes (A, B, C)
  2. Connecter A → B
  3. Connecter B → C
  4. 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:

  1. Ajouter 2 nodes
  2. Essayer self-connection → Erreur
  3. Créer connexion valide A → B
  4. Essayer connexion en double → Erreur
  5. 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:

  1. Créer un workflow complexe (5 nodes, 6 edges)
  2. Supprimer un node central
  3. 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

  1. Détection de cycles: Implémentée mais pas encore exposée dans l'UI
  2. Validation des types: Optionnelle, dépend des ports définis
  3. 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

  1. Ouvrir la console (F12)
  2. Vérifier les erreurs JavaScript
  3. Vérifier que Material-UI est chargé

La Validation ne Fonctionne Pas

  1. Vérifier que edgeValidation.ts existe
  2. Vérifier l'import dans Canvas
  3. Voir les logs de la console

Les Edges ne Sont Pas Stylés

  1. Vérifier que CustomEdge.tsx existe
  2. Vérifier l'enregistrement dans edgeTypes
  3. Vérifier les imports Material-UI

Feedback

Si vous rencontrez des problèmes:

  1. Noter le problème exact
  2. Capturer une capture d'écran
  3. Noter les étapes pour reproduire
  4. Vérifier les logs (console + fichiers)

Version: 1.0.0
Date: 2 décembre 2024
Statut: Validation des Edges Opérationnelle