46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""
|
|
Моки для тестового окружения
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from unittest.mock import Mock, patch
|
|
|
|
|
|
# Патчим загрузку настроек до импорта модулей
|
|
def setup_test_mocks():
|
|
"""Настройка моков для тестов"""
|
|
# Мокаем os.getenv
|
|
mock_env_vars = {
|
|
"BOT_TOKEN": "test_token_123",
|
|
"LISTEN_BOT_TOKEN": "",
|
|
"TEST_BOT_TOKEN": "",
|
|
"PREVIEW_LINK": "False",
|
|
"MAIN_PUBLIC": "@test",
|
|
"GROUP_FOR_POSTS": "-1001234567890",
|
|
"GROUP_FOR_MESSAGE": "-1001234567891",
|
|
"GROUP_FOR_LOGS": "-1001234567893",
|
|
"IMPORTANT_LOGS": "-1001234567894",
|
|
"TEST_GROUP": "-1001234567895",
|
|
"LOGS": "True",
|
|
"TEST": "False",
|
|
"DATABASE_PATH": "database/test.db",
|
|
}
|
|
|
|
def mock_getenv(key, default=None):
|
|
return mock_env_vars.get(key, default)
|
|
|
|
env_patcher = patch("os.getenv", side_effect=mock_getenv)
|
|
env_patcher.start()
|
|
|
|
# Мокаем AsyncBotDB
|
|
mock_db = Mock()
|
|
db_patcher = patch("helper_bot.utils.base_dependency_factory.AsyncBotDB", mock_db)
|
|
db_patcher.start()
|
|
|
|
return env_patcher, db_patcher
|
|
|
|
|
|
# Настраиваем моки при импорте модуля
|
|
env_patcher, db_patcher = setup_test_mocks()
|