#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Тестирование инлайн-кнопок для AI-КАЛОРИЯ бота
"""

import os
import sys
from pathlib import Path

# Добавляем текущую директорию в путь
sys.path.insert(0, str(Path(__file__).parent))

def test_inline_buttons():
    """Тестирование инлайн-кнопок"""
    print("🧪 Тестирование инлайн-кнопок...")
    
    try:
        from telegram_bot import get_popular_food_variants, create_food_variants_keyboard
        
        # Тестовые продукты
        test_foods = [
            "печенье",
            "кофе",
            "чай",
            "сок",
            "йогурт",
            "сыр",
            "хлеб",
            "мясо",
            "овсянка",  # Должен вернуть пустой список
            "вода"      # Должен вернуть пустой список
        ]
        
        for food in test_foods:
            print(f"\n📝 Тестируем: '{food}'")
            
            # Тестируем получение вариантов
            variants = get_popular_food_variants(food)
            print(f"   🔍 Варианты: {variants}")
            
            # Тестируем создание клавиатуры
            keyboard = create_food_variants_keyboard(food)
            if keyboard:
                print(f"   ✅ Клавиатура создана")
                print(f"   📊 Количество кнопок: {len(keyboard.keyboard)}")
            else:
                print(f"   ❌ Клавиатура не создана")
        
        return True
        
    except Exception as e:
        print(f"❌ Ошибка при тестировании: {e}")
        return False

def main():
    """Основная функция тестирования"""
    print("🧪 Запуск тестов инлайн-кнопок\n")
    
    success = test_inline_buttons()
    
    if success:
        print("\n🎉 Тестирование завершено!")
        print("\n💡 Как работают кнопки:")
        print("1. Пользователь пишет 'печенье' или 'кофе'")
        print("2. Бот показывает кнопки с популярными вариантами")
        print("3. Пользователь выбирает нужный вариант")
        print("4. Бот обрабатывает выбранный продукт")
    else:
        print("\n⚠️ Тестирование завершено с ошибками")
    
    return 0 if success else 1

if __name__ == '__main__':
    exit_code = main()
    sys.exit(exit_code)
