""" Моки для тестового окружения """ import sys import os from unittest.mock import Mock, patch # Патчим загрузку настроек до импорта модулей def setup_test_mocks(): """Настройка моков для тестов""" # Мокаем ConfigParser mock_config = Mock() def mock_getitem(section): if section == 'Telegram': return { 'bot_token': 'test_token_123', 'preview_link': 'False', 'main_public': '@test', 'group_for_posts': '-1001234567890', 'group_for_message': '-1001234567891', 'group_for_logs': '-1001234567893', 'important_logs': '-1001234567894', 'test_channel': '-1001234567895' } elif section == 'Settings': return { 'logs': 'True', 'test': 'False' } return {} # Создаем MagicMock для поддержки __getitem__ mock_config_instance = Mock() mock_config_instance.sections.return_value = ['Telegram', 'Settings'] mock_config_instance.__getitem__ = Mock(side_effect=mock_getitem) mock_config.return_value = mock_config_instance # Применяем патчи config_patcher = patch('helper_bot.utils.base_dependency_factory.configparser.ConfigParser', mock_config) config_patcher.start() # Мокаем BotDB mock_db = Mock() db_patcher = patch('helper_bot.utils.base_dependency_factory.BotDB', mock_db) db_patcher.start() return config_patcher, db_patcher # Настраиваем моки при импорте модуля config_patcher, db_patcher = setup_test_mocks()