Files
openclaw/qa/scenarios/channels/telegram-help-command.yaml
Dallin Romney e3671e0980 refactor(qa): canonicalize channel command scenarios (#101080)
* test(qa): migrate channel command scenarios

* test(qa): distinguish portable command headings

* test(qa): preserve canonical scenario ownership
2026-07-06 12:18:06 -07:00

52 lines
1.8 KiB
YAML

title: Telegram help command reply
scenario:
id: telegram-help-command
surface: channel-framework
category: channel-framework.channel-actions-commands-and-approvals
coverage:
primary:
- channels.native-commands
objective: Verify the Telegram help command returns the concise command guide.
successCriteria:
- The help command is accepted in the Telegram group command path.
- The reply advertises new-session and full command-list commands.
codeRefs:
- src/auto-reply/reply/commands-core.ts
- extensions/qa-lab/src/live-transports/telegram/adapter.runtime.ts
execution:
kind: flow
channel: telegram
summary: Send Telegram help and verify the concise native command guide.
config:
command: help
expectedAny:
- /new
- /commands for full list
flow:
steps:
- name: help returns the concise command guide
actions:
- resetTransport: true
- set: startIndex
value:
expr: "state.getSnapshot().messages.filter((message) => message.direction === 'outbound').length"
- sendInbound:
conversation: { id: telegram-command-room, kind: channel }
senderId: qa-command-operator
senderName: QA Command Operator
text:
expr: "transport.id === 'telegram' ? `/${config.command}@openclaw` : `/${config.command}`"
- waitForOutbound:
conversation: { id: telegram-command-room, kind: channel }
sinceIndex: { ref: startIndex }
textIncludes: { expr: "config.expectedAny[0]" }
timeoutMs: 60000
saveAs: reply
- assert:
expr: "config.expectedAny.every((needle) => reply.text.includes(needle))"
message:
expr: "`help reply missing expected text: ${reply.text}`"
detailsExpr: reply.text