@@ -235,22 +235,36 @@ def test_chat_display_name_empty(self):
235235 assert _chat_display_name ({}) == "???"
236236
237237 def test_build_styles_keyboard_one_button_per_row (self ):
238- """Level 1: одна кнопка с именем чата на каждую строку ."""
238+ """Одна кнопка на строку с emoji-индикаторами настроек ."""
239239 dialogs = [
240240 {"chat_id" : 100 , "first_name" : "Алиса" , "last_name" : "" , "username" : "" },
241241 {"chat_id" : 200 , "first_name" : "Боб" , "last_name" : "" , "username" : "" },
242242 ]
243- keyboard = _build_styles_keyboard (dialogs )
243+ user_settings = {
244+ "style" : "userlike" ,
245+ "chat_styles" : {"100" : "romance" },
246+ "chat_prompts" : {"100" : "Be formal" },
247+ "chat_auto_replies" : {"100" : 60 },
248+ }
249+ keyboard = _build_styles_keyboard (dialogs , user_settings )
244250 buttons = keyboard .inline_keyboard
245251 assert len (buttons ) == 2
246- # Каждый ряд — 1 кнопка с именем чата
247252 assert len (buttons [0 ]) == 1
248- assert buttons [0 ][0 ].text == "Алиса"
253+ # Алиса: romance + prompt + auto-reply
254+ assert buttons [0 ][0 ].text == "💕📝⏰ | Алиса"
249255 assert buttons [0 ][0 ].callback_data == "chatmenu:100"
250- assert len ( buttons [ 1 ]) == 1
251- assert buttons [1 ][0 ].text == "Боб"
256+ # Боб: дефолтный стиль, без промпта, без auto-reply
257+ assert buttons [1 ][0 ].text == "🦉 | Боб"
252258 assert buttons [1 ][0 ].callback_data == "chatmenu:200"
253259
260+ def test_build_styles_keyboard_ignore_indicator (self ):
261+ """🔇 показывается для ignored чатов."""
262+ dialogs = [{"chat_id" : 100 , "first_name" : "Алиса" , "last_name" : "" , "username" : "" }]
263+ user_settings = {"chat_auto_replies" : {"100" : - 1 }}
264+ keyboard = _build_styles_keyboard (dialogs , user_settings )
265+ assert "🔇" in keyboard .inline_keyboard [0 ][0 ].text
266+ assert "⏰" not in keyboard .inline_keyboard [0 ][0 ].text
267+
254268 def test_build_chat_settings_keyboard_three_buttons_column (self ):
255269 """Level 2: три кнопки в столбец — стиль, промпт, автоответ."""
256270 user_settings = {
@@ -355,8 +369,8 @@ async def test_shows_chat_buttons(self, mock_update, mock_context):
355369 kb = mock_update .message .reply_text .call_args .kwargs ["reply_markup" ]
356370 assert len (kb .inline_keyboard ) == 1
357371 assert len (kb .inline_keyboard [0 ]) == 1 # одна кнопка на строку
358- assert kb .inline_keyboard [0 ][0 ].text == "Алиса"
359- assert kb .inline_keyboard [0 ][0 ].callback_data == "chatmenu:100"
372+ assert "Алиса" in kb .inline_keyboard [0 ][0 ].text
373+ assert "chatmenu:100" in kb .inline_keyboard [0 ][0 ].callback_data
360374
361375 @pytest .mark .asyncio
362376 async def test_opening_chats_clears_prompt_waiting_state (self , mock_update , mock_context ):
0 commit comments