#!/bin/bash echo "🚀 Test des Améliorations du Panneau de Propriétés" echo "==================================================" # Couleurs pour l'affichage GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Compteurs TESTS_PASSED=0 TESTS_FAILED=0 # Fonction pour afficher le résultat d'un test check_result() { if [ $1 -eq 0 ]; then echo -e "${GREEN}✅ $2${NC}" ((TESTS_PASSED++)) else echo -e "${RED}❌ $2${NC}" ((TESTS_FAILED++)) fi } echo "" echo "📁 Vérification des fichiers modifiés..." echo "----------------------------------------" # Vérifier que PropertiesPanel a été modifié if grep -q "onNodeDelete" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "PropertiesPanel contient la prop onNodeDelete" else check_result 1 "PropertiesPanel ne contient pas la prop onNodeDelete" fi # Vérifier la présence du bouton de suppression if grep -q "DeleteIcon" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Bouton de suppression ajouté dans PropertiesPanel" else check_result 1 "Bouton de suppression manquant dans PropertiesPanel" fi # Vérifier la prévisualisation d'image améliorée if grep -q "elementImage" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Prévisualisation d'image implémentée" else check_result 1 "Prévisualisation d'image manquante" fi # Vérifier le dialog de prévisualisation if grep -q "imagePreviewOpen" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Dialog de prévisualisation d'image ajouté" else check_result 1 "Dialog de prévisualisation d'image manquant" fi # Vérifier que App.tsx passe la fonction de suppression if grep -q "onNodeDelete={handleNodeDelete}" frontend/src/App.tsx; then check_result 0 "App.tsx passe la fonction de suppression" else check_result 1 "App.tsx ne passe pas la fonction de suppression" fi echo "" echo "🔍 Vérification du contenu des améliorations..." echo "----------------------------------------------" # Vérifier les icônes importées if grep -q "ZoomInIcon" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Icône de zoom importée" else check_result 1 "Icône de zoom manquante" fi # Vérifier la confirmation de suppression if grep -q "window.confirm" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Confirmation de suppression implémentée" else check_result 1 "Confirmation de suppression manquante" fi # Vérifier les détails enrichis de l'élément if grep -q "Détails de l'élément" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Détails enrichis de l'élément ajoutés" else check_result 1 "Détails enrichis de l'élément manquants" fi # Vérifier la section Actions if grep -q "Actions sur l'étape" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Section Actions ajoutée" else check_result 1 "Section Actions manquante" fi echo "" echo "🧪 Tests de compilation TypeScript..." echo "-----------------------------------" # Vérifier la compilation TypeScript if (cd frontend && npm run type-check > /dev/null 2>&1); then check_result 0 "Compilation TypeScript réussie" else check_result 1 "Erreurs de compilation TypeScript" fi echo "" echo "📊 Vérification des fonctionnalités spécifiques..." echo "-------------------------------------------------" # Vérifier la gestion des propriétés d'image if grep -q "elementImage.*style" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Styles d'image configurés" else check_result 1 "Styles d'image manquants" fi # Vérifier les informations de confiance if grep -q "confidence.*100" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Affichage de la confiance implémenté" else check_result 1 "Affichage de la confiance manquant" fi # Vérifier les sélecteurs multiples if grep -q "selectors.*length" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Affichage du nombre de sélecteurs" else check_result 1 "Affichage du nombre de sélecteurs manquant" fi # Vérifier l'alerte d'avertissement pour la suppression if grep -q "Alert.*warning" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Alerte d'avertissement pour suppression" else check_result 1 "Alerte d'avertissement manquante" fi echo "" echo "🎨 Vérification de l'expérience utilisateur..." echo "--------------------------------------------" # Vérifier les tooltips if grep -q "title=" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Tooltips ajoutés" else check_result 1 "Tooltips manquants" fi # Vérifier les couleurs et styles if grep -q "backgroundColor.*f8f9fa" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Styles visuels améliorés" else check_result 1 "Styles visuels de base" fi # Vérifier la responsivité if grep -q "maxWidth.*100%" frontend/src/components/PropertiesPanel/index.tsx; then check_result 0 "Design responsive implémenté" else check_result 1 "Design responsive manquant" fi echo "" echo "==================================================" echo "📊 RÉSULTATS DES TESTS" echo "==================================================" echo -e "Tests réussis: ${GREEN}$TESTS_PASSED${NC}" echo -e "Tests échoués: ${RED}$TESTS_FAILED${NC}" TOTAL_TESTS=$((TESTS_PASSED + TESTS_FAILED)) if [ $TOTAL_TESTS -gt 0 ]; then PERCENTAGE=$((TESTS_PASSED * 100 / TOTAL_TESTS)) echo "Pourcentage: $PERCENTAGE%" if [ $PERCENTAGE -ge 90 ]; then echo -e "${GREEN}🎉 AMÉLIORATIONS RÉUSSIES !${NC}" echo "✅ Le panneau de propriétés a été amélioré avec succès" elif [ $PERCENTAGE -ge 70 ]; then echo -e "${YELLOW}⚠️ AMÉLIORATIONS PARTIELLES${NC}" echo "🔧 Quelques ajustements nécessaires" else echo -e "${RED}❌ AMÉLIORATIONS INCOMPLÈTES${NC}" echo "🔧 Des corrections sont nécessaires" fi else echo -e "${RED}❌ AUCUN TEST EXÉCUTÉ${NC}" fi echo "" echo "🎯 Fonctionnalités ajoutées:" echo " • 🖼️ Prévisualisation améliorée des éléments sélectionnés" echo " • 🔍 Dialog de zoom pour les images" echo " • 🗑️ Bouton de suppression d'étape dans le panneau" echo " • ⚠️ Confirmation de suppression" echo " • 📊 Informations détaillées (confiance, sélecteurs, etc.)" echo " • 🎨 Interface utilisateur améliorée" exit $TESTS_FAILED