#!/bin/bash
#
# Script de lancement des tests du Mode Assisté
# Prépare l'environnement et lance l'application en mode test
#

set -e

# Couleurs
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

echo "╔══════════════════════════════════════════════════════════════╗"
echo "║         TEST DU MODE ASSISTÉ AVEC SUGGESTIONS               ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""

# 1. Vérifier l'environnement
echo -e "${YELLOW}[1/5]${NC} Vérification de l'environnement..."
if python3 diagnostic_complet_systeme.py > /dev/null 2>&1; then
    echo -e "${GREEN}✓${NC} Environnement OK"
else
    echo -e "${RED}✗${NC} Problème avec l'environnement"
    echo "Exécute: python3 diagnostic_complet_systeme.py"
    exit 1
fi

# 2. Vérifier les tâches
echo -e "${YELLOW}[2/5]${NC} Vérification des tâches..."
if python3 verifier_tasks_mode_assiste.py > /dev/null 2>&1; then
    echo -e "${GREEN}✓${NC} Tâches critiques complétées"
else
    echo -e "${RED}✗${NC} Tâches critiques manquantes"
    echo "Exécute: python3 verifier_tasks_mode_assiste.py"
    exit 1
fi

# 3. Vérifier les workflows disponibles
echo -e "${YELLOW}[3/5]${NC} Vérification des workflows..."
WORKFLOW_COUNT=$(ls geniusia2/data/user_profiles/workflows/workflow_*.json 2>/dev/null | wc -l)
if [ $WORKFLOW_COUNT -gt 0 ]; then
    echo -e "${GREEN}✓${NC} $WORKFLOW_COUNT workflows disponibles"
else
    echo -e "${YELLOW}⚠${NC} Aucun workflow trouvé"
    echo "  Tu devras d'abord enregistrer des workflows"
fi

# 4. Activer l'environnement virtuel
echo -e "${YELLOW}[4/5]${NC} Activation de l'environnement virtuel..."
if [ -d "geniusia2/venv" ]; then
    source geniusia2/venv/bin/activate
    echo -e "${GREEN}✓${NC} Environnement activé"
else
    echo -e "${RED}✗${NC} Environnement virtuel non trouvé"
    exit 1
fi

# 5. Préparer les logs
echo -e "${YELLOW}[5/5]${NC} Préparation des logs..."
LOG_FILE="geniusia2/data/logs/logs_$(date +%Y-%m-%d).json"
echo -e "${GREEN}✓${NC} Logs: $LOG_FILE"

echo ""
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║                    PRÊT POUR LES TESTS                       ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
echo "Options de lancement:"
echo ""
echo "  1. Mode Assist (avec GUI)"
echo "     python3 geniusia2/main.py --mode assist"
echo ""
echo "  2. Mode Assist (headless, pour debug)"
echo "     python3 geniusia2/main.py --mode assist --headless"
echo ""
echo "  3. Suivre les logs en temps réel"
echo "     tail -f $LOG_FILE | grep workflow"
echo ""
echo "  4. Ouvrir le guide de test"
echo "     cat GUIDE_TEST_MODE_ASSISTE.md"
echo ""

# Demander à l'utilisateur
echo -n "Lancer l'application maintenant? (o/N): "
read -r response

if [[ "$response" =~ ^[Oo]$ ]]; then
    echo ""
    echo "Lancement de l'application en mode Assist..."
    echo "Appuie sur Ctrl+C pour arrêter"
    echo ""
    sleep 2
    
    # Lancer l'application
    python3 geniusia2/main.py --mode assist
else
    echo ""
    echo "Pour lancer manuellement:"
    echo "  source geniusia2/venv/bin/activate"
    echo "  python3 geniusia2/main.py --mode assist"
    echo ""
fi
