#!/bin/bash
# scripts/test-demo-domains.sh
# Script pour tester le mode démo sur différents domaines

echo "🎭 Test du système de démo multi-domaines"
echo "==========================================="

# Couleurs pour les logs
GREEN='\033[0;32m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Configuration
LOCAL_URL="http://localhost:3001"
DEMO_DOMAIN="demo.odentas.fr"
PROD_DOMAIN="paie.odentas.fr"

echo -e "${BLUE}1. Test local avec variable d'environnement${NC}"
response=$(curl -s "${LOCAL_URL}/api/me" || echo "ERROR")
if [[ "$response" == *"demo@odentas.fr"* ]]; then
    echo -e "${GREEN}✅ Mode démo local fonctionne${NC}"
else
    echo -e "${RED}❌ Mode démo local ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}2. Test avec header HTTP${NC}"
response=$(curl -s -H "x-demo-mode: true" "${LOCAL_URL}/api/me" || echo "ERROR")
if [[ "$response" == *"demo@odentas.fr"* ]]; then
    echo -e "${GREEN}✅ Mode démo via header fonctionne${NC}"
else
    echo -e "${RED}❌ Mode démo via header ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}3. Test simulation host demo.odentas.fr${NC}"
response=$(curl -s -H "Host: demo.odentas.fr" "${LOCAL_URL}/api/me" || echo "ERROR")
if [[ "$response" == *"demo@odentas.fr"* ]]; then
    echo -e "${GREEN}✅ Détection hostname demo.odentas.fr fonctionne${NC}"
else
    echo -e "${RED}❌ Détection hostname demo.odentas.fr ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}4. Test API contrats avec filtrage${NC}"
response=$(curl -s -H "x-demo-mode: true" "${LOCAL_URL}/api/contrats?regime=CDDU&status=en_cours" || echo "ERROR")
if [[ "$response" == *"CDDU-2024"* ]]; then
    echo -e "${GREEN}✅ API contrats démo avec filtrage fonctionne${NC}"
else
    echo -e "${RED}❌ API contrats démo ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}5. Test API recherche${NC}"
response=$(curl -s -H "x-demo-mode: true" "${LOCAL_URL}/api/search?q=alice" || echo "ERROR")
if [[ "$response" == *"MARTIN Alice"* ]]; then
    echo -e "${GREEN}✅ API recherche démo fonctionne${NC}"
else
    echo -e "${RED}❌ API recherche démo ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}6. Test API organizations${NC}"
response=$(curl -s -H "x-demo-mode: true" "${LOCAL_URL}/api/organizations" || echo "ERROR")
if [[ "$response" == *"Compagnie Théâtrale Demo"* ]]; then
    echo -e "${GREEN}✅ API organizations démo fonctionne${NC}"
else
    echo -e "${RED}❌ API organizations démo ne fonctionne pas${NC}"
fi

echo -e "\n${BLUE}Tests de production (si déployé)${NC}"
echo "=================================="

if ping -c 1 "$DEMO_DOMAIN" >/dev/null 2>&1; then
    echo -e "\n${BLUE}7. Test demo.odentas.fr en production${NC}"
    response=$(curl -s "https://${DEMO_DOMAIN}/api/me" || echo "ERROR")
    if [[ "$response" == *"demo@odentas.fr"* ]]; then
        echo -e "${GREEN}✅ demo.odentas.fr fonctionne en production${NC}"
    else
        echo -e "${RED}❌ demo.odentas.fr ne fonctionne pas${NC}"
    fi
else
    echo -e "${RED}⚠️  demo.odentas.fr n'est pas accessible (pas encore déployé)${NC}"
fi

if ping -c 1 "$PROD_DOMAIN" >/dev/null 2>&1; then
    echo -e "\n${BLUE}8. Test paie.odentas.fr (mode normal)${NC}"
    response=$(curl -s "https://${PROD_DOMAIN}/api/me" || echo "ERROR")
    if [[ "$response" != *"demo@odentas.fr"* ]]; then
        echo -e "${GREEN}✅ paie.odentas.fr fonctionne en mode normal${NC}"
    else
        echo -e "${RED}❌ paie.odentas.fr est en mode démo (erreur!)${NC}"
    fi
else
    echo -e "${RED}⚠️  paie.odentas.fr n'est pas accessible${NC}"
fi

echo -e "\n${BLUE}Configuration recommandée pour Vercel:${NC}"
echo "1. Ajouter demo.odentas.fr dans Settings → Domains"
echo "2. Configurer DNS: CNAME demo → cname.vercel-dns.com"
echo "3. Le fichier vercel.json est déjà configuré"
echo "4. Aucune variable d'environnement supplémentaire requise"

echo -e "\n🎭 Tests terminés!"