mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
Fix Telegram edit fallback
This commit is contained in:
+33
-3
@@ -354,8 +354,8 @@ def test_edit_msg_with_html_parse_mode_keeps_html(telegram):
|
||||
assert edit_kwargs["text"] == "<b>标题</b>\n<blockquote>请选择</blockquote>"
|
||||
|
||||
|
||||
def test_edit_msg_keeps_other_edit_errors_failed(telegram):
|
||||
"""非图片 caption 场景的编辑错误不应被错误标记为成功。"""
|
||||
def test_edit_msg_treats_message_not_modified_as_success(telegram):
|
||||
"""重复编辑相同内容时应视为成功,避免记录错误日志。"""
|
||||
telegram.bot.edit_message_text.side_effect = Exception(
|
||||
"Bad Request: message is not modified"
|
||||
)
|
||||
@@ -367,6 +367,36 @@ def test_edit_msg_keeps_other_edit_errors_failed(telegram):
|
||||
text="测试内容",
|
||||
)
|
||||
|
||||
assert result is False
|
||||
assert result is True
|
||||
telegram.bot.edit_message_text.assert_called_once()
|
||||
telegram.bot.edit_message_caption.assert_not_called()
|
||||
|
||||
|
||||
def test_send_msg_edit_with_image_falls_back_to_text_when_image_url_unavailable(telegram):
|
||||
"""编辑图片消息失败时应去掉图片并降级为文本编辑。"""
|
||||
telegram.bot.edit_message_media.side_effect = Exception(
|
||||
"Bad Request: failed to get HTTP URL content"
|
||||
)
|
||||
|
||||
result = telegram.send_msg(
|
||||
title="测试标题",
|
||||
text="测试内容",
|
||||
image="https://example.com/poster.jpg",
|
||||
buttons=[[{"text": "确认", "callback_data": "confirm"}]],
|
||||
original_chat_id="1051253579",
|
||||
original_message_id=110502,
|
||||
)
|
||||
|
||||
assert result == {
|
||||
"success": True,
|
||||
"message_id": 110502,
|
||||
"chat_id": "1051253579",
|
||||
}
|
||||
telegram.bot.edit_message_media.assert_called_once()
|
||||
telegram.bot.edit_message_text.assert_called_once()
|
||||
edit_kwargs = telegram.bot.edit_message_text.call_args.kwargs
|
||||
assert edit_kwargs["chat_id"] == "1051253579"
|
||||
assert edit_kwargs["message_id"] == 110502
|
||||
assert "测试标题" in edit_kwargs["text"]
|
||||
assert "测试内容" in edit_kwargs["text"]
|
||||
assert edit_kwargs["reply_markup"] is not None
|
||||
|
||||
Reference in New Issue
Block a user