#!/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_formatting():
    """Тестирование нового форматирования"""
    print("🧪 Тестирование нового форматирования...")
    
    try:
        from telegram_bot import format_food_record
        
        # Тестовые данные
        test_food_info = {
            'food_name': 'мороженое',
            'amount': 1,
            'unit': 'стаканчик',
            'calories': 200
        }
        
        print(f"\n📝 Тестируем форматирование:")
        print(f"   Продукт: {test_food_info['food_name']}")
        print(f"   Количество: {test_food_info['amount']} {test_food_info['unit']}")
        print(f"   Калории: {test_food_info['calories']}")
        
        # Тест без user_id (без общей статистики)
        result_without_stats = format_food_record(test_food_info, 1)
        print(f"\n✅ Результат без статистики:")
        print(result_without_stats)
        
        # Тест с user_id (с общей статистикой)
        result_with_stats = format_food_record(test_food_info, 1, 12345)
        print(f"\n✅ Результат со статистикой:")
        print(result_with_stats)
        
        # Проверяем наличие HTML тегов
        if '<b>' in result_without_stats and '</b>' in result_without_stats:
            print(f"\n✅ HTML форматирование работает!")
        else:
            print(f"\n❌ HTML форматирование не работает!")
        
        # Проверяем структуру сообщения
        expected_parts = [
            '🍽️ Добавлено в дневник питания',
            'Продукт:',
            'Количество:',
            '✚',
            'ккал'
        ]
        
        all_parts_present = all(part in result_without_stats for part in expected_parts)
        if all_parts_present:
            print(f"\n✅ Все части сообщения присутствуют!")
        else:
            print(f"\n❌ Некоторые части сообщения отсутствуют!")
        
        return True
        
    except Exception as e:
        print(f"❌ Ошибка при тестировании: {e}")
        return False

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

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