test(buzz): add opt-in thread QA coverage

This commit is contained in:
Patrick Erichsen
2026-08-13 01:43:12 +08:00
committed by Dallin Romney
parent b50a7fc4cd
commit 4bc43869ca
3 changed files with 36 additions and 3 deletions
+24
View File
@@ -48,4 +48,28 @@ describe("Buzz QA CLI", () => {
}),
).toEqual(["channel-canary", "channel-mention-gating"]);
});
it("forwards an explicitly selected thread follow-up scenario", async () => {
const qa = new Command();
buzzQaCliRegistration.register(qa);
await qa.parseAsync([
"node",
"openclaw",
"buzz",
"--credential-file",
"/secure/buzz-qa.json",
"--scenario",
"thread-follow-up",
]);
const params = runLiveTransportQaSuiteCommand.mock.calls[0]?.[0];
expect(
params?.selectScenarioIds({
primaryModel: "openai/gpt-5.4",
providerMode: "mock-openai",
scenarioIds: ["thread-follow-up"],
}),
).toEqual(["thread-follow-up"]);
});
});
+10 -2
View File
@@ -1017,11 +1017,19 @@ describe("qa scenario catalog", () => {
});
it("keeps portable thread relation flows on channels with native thread semantics", () => {
for (const scenarioId of ["thread-follow-up", "thread-isolation"]) {
const expectations = [
{
scenarioId: "thread-follow-up",
channels: ["qa-channel", "buzz", "slack", "matrix"],
},
{ scenarioId: "thread-isolation", channels: ["qa-channel", "slack", "matrix"] },
];
for (const { scenarioId, channels } of expectations) {
const scenario = requireFlowScenario(readQaScenarioById(scenarioId));
expect(scenario.execution.channel, scenarioId).toBeUndefined();
expect(scenario.execution.channels, scenarioId).toEqual(["qa-channel", "slack", "matrix"]);
expect(scenario.execution.channels, scenarioId).toEqual(channels);
}
});
+2 -1
View File
@@ -19,11 +19,12 @@ scenario:
- docs/concepts/qa-e2e-automation.md
codeRefs:
- extensions/qa-lab/src/qa-transport.ts
- extensions/buzz/src/qa/adapter.runtime.ts
- extensions/qa-lab/src/live-transports/slack/adapter.runtime.ts
- extensions/qa-lab/src/live-transports/matrix/adapter.runtime.ts
execution:
kind: flow
channels: [qa-channel, slack, matrix]
channels: [qa-channel, buzz, slack, matrix]
summary: Send a deterministic follow-up through the shared host and require native thread relation evidence.
config:
rootMarker: QA-THREAD-ROOT-OK