import asyncio from pathlib import Path from types import SimpleNamespace from bot.middlewares.i18n import JsonI18n from bot.services.email_templates import ( render_support_new_ticket_admin, render_support_ticket_closed_user, ) from bot.services.notification_service import NotificationService from config.settings import Settings REPO_ROOT = Path(__file__).resolve().parents[1] def _settings(**overrides): data = { "BOT_TOKEN": "123456:test", "POSTGRES_USER": "app_user", "POSTGRES_PASSWORD": "app_password", } data.update(overrides) return Settings(_env_file=None, **data) def _i18n(): return JsonI18n(str(REPO_ROOT / "locales"), default="ru") def test_support_ticket_closed_email_uses_user_language(): content = render_support_ticket_closed_user( _settings(DEFAULT_LANGUAGE="en"), _i18n(), "ru", ticket_id=7, subject="Проблема с подключением", ticket_url="https://app.example.com/support/7", ) assert content.subject == "Тикет #7 закрыт" assert '