


























@@ -8,6 +8,7 @@ const {
88 runQaSuiteFromRuntime,
99 runQaCharacterEval,
1010 runQaMultipass,
11+ listTelegramQaScenarioCatalog,
1112 runTelegramQaLive,
1213 startQaLabServer,
1314 writeQaDockerHarnessFiles,
@@ -19,6 +20,7 @@ const {
1920runQaSuiteFromRuntime: vi.fn(),
2021runQaCharacterEval: vi.fn(),
2122runQaMultipass: vi.fn(),
23+listTelegramQaScenarioCatalog: vi.fn(),
2224runTelegramQaLive: vi.fn(),
2325startQaLabServer: vi.fn(),
2426writeQaDockerHarnessFiles: vi.fn(),
@@ -45,6 +47,7 @@ vi.mock("./multipass.runtime.js", () => ({
4547}));
46484749vi.mock("./live-transports/telegram/telegram-live.runtime.js", () => ({
50+ listTelegramQaScenarioCatalog,
4851 runTelegramQaLive,
4952}));
5053@@ -111,6 +114,7 @@ describe("qa cli runtime", () => {
111114runQaCharacterEval.mockReset();
112115runQaManualLane.mockReset();
113116runQaMultipass.mockReset();
117+listTelegramQaScenarioCatalog.mockReset();
114118runTelegramQaLive.mockReset();
115119startQaLabServer.mockReset();
116120writeQaDockerHarnessFiles.mockReset();
@@ -153,6 +157,15 @@ describe("qa cli runtime", () => {
153157observedMessagesPath: "/tmp/telegram/observed.json",
154158scenarios: [],
155159});
160+listTelegramQaScenarioCatalog.mockReturnValue([
161+{
162+id: "telegram-status-command",
163+title: "Telegram status command reply",
164+defaultEnabled: true,
165+rationale: "status rationale",
166+regressionRefs: ["openclaw/openclaw#74698"],
167+},
168+]);
156169startQaLabServer.mockResolvedValue({
157170baseUrl: "http://127.0.0.1:58000",
158171runSelfCheck: vi.fn().mockResolvedValue({
@@ -297,6 +310,22 @@ describe("qa cli runtime", () => {
297310);
298311});
299312313+it("prints telegram scenario catalog without starting the live lane", async () => {
314+await runQaTelegramCommand({
315+repoRoot: "/tmp/openclaw-repo",
316+providerMode: "mock-openai",
317+listScenarios: true,
318+});
319+320+expect(listTelegramQaScenarioCatalog).toHaveBeenCalledWith("mock-openai");
321+expect(runTelegramQaLive).not.toHaveBeenCalled();
322+expect(stdoutWrite).toHaveBeenCalledWith(
323+expect.stringContaining(
324+"telegram-status-command\tdefault\tTelegram status command reply\tstatus rationale refs=openclaw/openclaw#74698",
325+),
326+);
327+});
328+300329it("sets a failing exit code when telegram scenarios fail", async () => {
301330const priorExitCode = process.exitCode;
302331process.exitCode = undefined;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。