4.0 KiB
4.0 KiB
03-Acceptance Criteria — ORCH-080
Work Item ID: ORCH-080
Каждый критерий имеет явное условие PASS/FAIL.
AC-1 — disable_web_page_preview в payload sendMessage
- PASS: JSON-payload вызова
httpx.post(.../sendMessage)вsend_telegram()содержит ключ"disable_web_page_preview"со значениемTrue. - FAIL: ключ отсутствует или
False. - Проверка: unit-тест (мок
httpx) инспектируетhttpx.post.call_args.kwargs["json"].
AC-2 — disable_web_page_preview в payload editMessageText
- PASS: JSON-payload вызова
httpx.post(.../editMessageText)вedit_telegram()содержит ключ"disable_web_page_preview"со значениемTrue. - FAIL: ключ отсутствует или
False. - Проверка: unit-тест (мок
httpx) инспектируетhttpx.post.call_args.kwargs["json"].
AC-3 — баннер link-preview Plane исчез в карточке трекера
- PASS: в реальном чате Telegram карточка трекера задачи (режимы
bumpиedit) больше не показывает баннер «Plane — Modern project management». - FAIL: баннер всё ещё разворачивается.
- Проверка: ручная верификация на staging (8501) после деплоя — наблюдение карточки в Telegram. Автоматически косвенно покрыто AC-1/AC-2 (payload содержит флаг).
AC-4 — ссылка на задачу остаётся кликабельной
- PASS: в карточке/уведомлениях номер задачи
ORCH-NNNостаётся кликабельной ссылкой<a href=...>на issue в Plane;parse_mode: "HTML"сохранён в обоих payload. - FAIL:
parse_modeизменён/удалён, либо ссылка перестала рендериться как<a href>. - Проверка: unit-тест проверяет, что
"parse_mode": "HTML"присутствует в обоих payload; существующие тесты ссылок (test_notify_issue_links.py) остаются зелёными.
AC-5 — сохранены существующие поля payload
- PASS:
send_telegrampayload по-прежнему содержитchat_id,text,parse_mode,disable_notification;edit_telegrampayload —chat_id,message_id,text,parse_mode. Возвращаемые значения функций не изменились (send_telegram → message_id|None,edit_telegram → EDIT_*). - FAIL: любое из перечисленных полей удалено/переименовано, либо изменился контракт возврата.
- Проверка: unit-тесты payload + существующие тесты трекера/классификации исходов.
AC-6 — never-raise сохранён, pytest зелёный
- PASS: при сетевой/HTTP-ошибке
send_telegram/edit_telegramне бросают исключение (возвратNone/EDIT_FAILED); вся сюитаpytest tests/ -qзелёная. - FAIL: любое исключение наружу или красный pytest.
- Проверка: существующие тесты never-raise (
test_resilience.py,test_telegram_tracker.py) + полный прогон.
AC-7 — документация обновлена в том же PR
- PASS:
CHANGELOG.mdсодержит запись об ORCH-080; при необходимости — короткая ремарка вCLAUDE.md/docs/architecture/README.mdо подавлении link-preview. - FAIL: функционал изменён, документация не обновлена (Reviewer → REQUEST_CHANGES).