#!/usr/bin/env python3 """ Test de la correction des erreurs ResizeObserver Auteur : Dom, Alice, Kiro - 08 janvier 2026 """ import subprocess import time import sys import os from pathlib import Path def test_frontend_build(): """Test la compilation du frontend.""" print("đŸ§Ș Test de compilation du frontend...") frontend_path = Path("visual_workflow_builder/frontend") if not frontend_path.exists(): print("❌ RĂ©pertoire frontend non trouvĂ©") return False try: # Test de compilation result = subprocess.run( ["npm", "run", "build"], cwd=frontend_path, capture_output=True, text=True, timeout=120 ) if result.returncode == 0: print("✅ Compilation rĂ©ussie") return True else: print(f"❌ Erreur de compilation: {result.stderr}") return False except subprocess.TimeoutExpired: print("⏰ Timeout lors de la compilation") return False except Exception as e: print(f"❌ Erreur: {e}") return False def test_files_exist(): """VĂ©rifie que tous les fichiers de correction existent.""" print("đŸ§Ș VĂ©rification des fichiers de correction...") required_files = [ "visual_workflow_builder/frontend/src/utils/resizeObserverPolyfill.js", "visual_workflow_builder/frontend/src/components/ResizeObserverErrorBoundary/index.tsx", "visual_workflow_builder/frontend/.env", "visual_workflow_builder/frontend/webpack.config.resizeobserver.js" ] all_exist = True for file_path in required_files: if Path(file_path).exists(): print(f"✅ {file_path}") else: print(f"❌ {file_path} - MANQUANT") all_exist = False return all_exist def main(): """Fonction principale de test.""" print("=" * 60) print(" TEST CORRECTION RESIZEOBSERVER") print("=" * 60) print("Auteur : Dom, Alice, Kiro - 08 janvier 2026") print() tests = [ ("Fichiers de correction", test_files_exist), ("Compilation frontend", test_frontend_build) ] passed = 0 total = len(tests) for test_name, test_func in tests: print(f"\n{'-'*40}") print(f" {test_name}") print(f"{'-'*40}") if test_func(): passed += 1 print(f"✅ {test_name} - PASSÉ") else: print(f"❌ {test_name} - ÉCHOUÉ") print("\n" + "=" * 60) print(" RÉSUMÉ") print("=" * 60) success_rate = (passed / total) * 100 print(f"Tests passĂ©s: {passed}/{total} ({success_rate:.1f}%)") if passed == total: print("🎉 CORRECTION RÉUSSIE!") print("Les erreurs ResizeObserver ont Ă©tĂ© corrigĂ©es.") print() print("Pour dĂ©marrer le frontend:") print(" cd visual_workflow_builder/frontend") print(" npm start") return True else: print("⚠ Certains tests ont Ă©chouĂ©") return False if __name__ == "__main__": success = main() sys.exit(0 if success else 1)