feat(bot): кнопка «🚀 Закоммитить» прямо в папке
При непустом черновике в папке — «🚀 Закоммитить · N»: нет сообщения → спрашивает его и сразу показывает подтверждение пуша; есть → сразу подтверждение. На подтверждении — «✏️ Изменить сообщение». Раньше Push был спрятан в «🧾 Черновик» → «💬» → «🚀». Refs #9 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,3 +63,30 @@ async def test_message_then_push_lands_in_remote(tg: TgClient, texts: Texts, rem
|
||||
tg.session.requests.clear()
|
||||
await tg.send(ADMIN, texts.menu.commit)
|
||||
assert not any(label.startswith("🧾") for label in labels(tg.session.sent(SendMessage)[-1].reply_markup))
|
||||
|
||||
|
||||
async def test_commit_button_in_folder_asks_message_then_confirms(
|
||||
tg: TgClient, texts: Texts, remote: Path, tmp_path: Path
|
||||
) -> None:
|
||||
t = texts.commit
|
||||
await tg.send(ADMIN, texts.menu.commit)
|
||||
await tg.press(ADMIN, cb(Act.NEW_FILE))
|
||||
await tg.send(ADMIN, "quick.txt")
|
||||
await tg.send(ADMIN, "быстро")
|
||||
|
||||
folder = tg.session.sent(SendMessage)[-1]
|
||||
assert t.commit_button.format(count=1) in labels(folder.reply_markup)
|
||||
|
||||
await tg.press(ADMIN, cb(Act.COMMIT))
|
||||
assert tg.session.sent(EditMessageText)[-1].text == t.ask_message
|
||||
await tg.send(ADMIN, "feat: быстрый коммит")
|
||||
|
||||
confirm = tg.session.sent(SendMessage)[-1]
|
||||
assert confirm.text.startswith("Запушить в main?") and "feat: быстрый коммит" in confirm.text
|
||||
assert labels(confirm.reply_markup) == [t.push_go, t.edit_message, texts.menu.back]
|
||||
|
||||
await tg.press(ADMIN, cb(Act.PUSH_GO))
|
||||
assert tg.session.sent(EditMessageText)[-1].text.startswith("✅ Запушено: ")
|
||||
clone = tmp_path / "verify2"
|
||||
git(tmp_path, "clone", "-q", str(remote), str(clone))
|
||||
assert (clone / "quick.txt").read_text(encoding="utf-8") == "быстро"
|
||||
|
||||
Reference in New Issue
Block a user