From a99aeec0d43a22d82c3f452011d8f5ba6dc0f9e5 Mon Sep 17 00:00:00 2001 From: 3252a8 <3252a8@proton.me> Date: Mon, 8 Jun 2026 09:22:24 +0300 Subject: [PATCH] fix: return from bot tariff prices to bot menu --- backend/bot/handlers/user/subscription/core.py | 4 ++-- backend/bot/keyboards/inline/user_keyboards.py | 6 ++++++ tests/test_user_bot_menu.py | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/bot/handlers/user/subscription/core.py b/backend/bot/handlers/user/subscription/core.py index 3ab73bc..bdf5534 100644 --- a/backend/bot/handlers/user/subscription/core.py +++ b/backend/bot/handlers/user/subscription/core.py @@ -22,7 +22,7 @@ from bot.keyboards.inline.user_keyboards import ( get_tariff_packages_keyboard, get_tariff_periods_keyboard, sale_mode_with_callback_context, - subscription_options_callback, + tariff_purchase_back_callback, ) from bot.middlewares.i18n import JsonI18n from bot.services.panel_api_service import PanelApiService @@ -303,7 +303,7 @@ async def select_tariff_callback( current_lang, i18n, settings, - back_callback=subscription_options_callback(callback_context), + back_callback=tariff_purchase_back_callback(callback_context), callback_context=callback_context, ) text = _tariff_purchase_text(tariff, current_lang, i18n, settings) diff --git a/backend/bot/keyboards/inline/user_keyboards.py b/backend/bot/keyboards/inline/user_keyboards.py index fa5d830..41a5bf7 100644 --- a/backend/bot/keyboards/inline/user_keyboards.py +++ b/backend/bot/keyboards/inline/user_keyboards.py @@ -71,6 +71,12 @@ def subscription_options_callback(context: Optional[str]) -> str: return "main_action:bot_subscribe" if context == BOT_MENU_CONTEXT else "main_action:subscribe" +def tariff_purchase_back_callback(context: Optional[str]) -> str: + if context == BOT_MENU_CONTEXT: + return "main_action:bot_interface" + return subscription_options_callback(context) + + def payment_methods_back_callback( value: str, sale_mode: str = "subscription", price: Optional[float] = None ) -> str: diff --git a/tests/test_user_bot_menu.py b/tests/test_user_bot_menu.py index 588176c..b86e099 100644 --- a/tests/test_user_bot_menu.py +++ b/tests/test_user_bot_menu.py @@ -23,6 +23,7 @@ from bot.keyboards.inline.user_keyboards import ( get_yk_autopay_choice_keyboard, payment_methods_back_callback, payment_options_back_callback, + tariff_purchase_back_callback, ) from bot.middlewares.i18n import LOCALE_KEY_ALIASES from config.tariffs_config import TariffsConfig @@ -332,14 +333,16 @@ class UserBotMenuTests(unittest.TestCase): "en", self.i18n, settings, - back_callback="main_action:bot_subscribe", + back_callback=tariff_purchase_back_callback("bot"), callback_context="bot", ) self.assertIn("tariff:select:basic:bot", self._callback_data(catalog)) self.assertIn("main_action:bot_interface", self._callback_data(catalog)) self.assertIn("tariff:period:basic:1:bot", self._callback_data(periods)) - self.assertIn("main_action:bot_subscribe", self._callback_data(periods)) + self.assertIn("main_action:bot_interface", self._callback_data(periods)) + self.assertEqual(tariff_purchase_back_callback("bot"), "main_action:bot_interface") + self.assertEqual(tariff_purchase_back_callback(None), "main_action:subscribe") self.assertEqual( payment_options_back_callback("subscription@basic|bot"), "tariff:select:basic:bot",