mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
fix(qa): keep deterministic Telegram proofs on Crabline
This commit is contained in:
@@ -25,7 +25,7 @@ describe("Telegram QA profiles", () => {
|
||||
|
||||
expect(live).not.toContain("telegram-long-final-reuses-preview");
|
||||
expect(mock).toContain("telegram-long-final-reuses-preview");
|
||||
expect(mock).toContain("telegram-assistant-transcript-role-boundary");
|
||||
expect(mock).not.toContain("telegram-assistant-transcript-role-boundary");
|
||||
expect(mock).not.toContain("telegram-startup-getme-live");
|
||||
});
|
||||
|
||||
@@ -36,7 +36,7 @@ describe("Telegram QA profiles", () => {
|
||||
});
|
||||
|
||||
expect(scenarioIds).toContain("channel-message-flows");
|
||||
expect(scenarioIds).toContain("native-command-session-target");
|
||||
expect(scenarioIds).not.toContain("native-command-session-target");
|
||||
});
|
||||
|
||||
it("lets explicit scenarios override profile selection", () => {
|
||||
|
||||
@@ -64,7 +64,7 @@ describe("taxonomy profile scenario selection", () => {
|
||||
|
||||
expect(liveTelegram).toContain("telegram-help-command");
|
||||
expect(liveTelegram).not.toContain("telegram-assistant-transcript-role-boundary");
|
||||
expect(mockTelegram).toContain("telegram-assistant-transcript-role-boundary");
|
||||
expect(mockTelegram).not.toContain("telegram-assistant-transcript-role-boundary");
|
||||
expect(mockTelegram).not.toContain("discord-canary");
|
||||
});
|
||||
|
||||
|
||||
@@ -25,12 +25,14 @@ describe("qa scenario catalog channel contracts", () => {
|
||||
const scenario = readQaScenarioById("native-command-session-target");
|
||||
const config = readQaScenarioExecutionConfig("native-command-session-target") as
|
||||
| {
|
||||
requiredChannelDriver?: string;
|
||||
requiredProviderMode?: string;
|
||||
}
|
||||
| undefined;
|
||||
|
||||
expect(scenario.execution.channel).toBe("telegram");
|
||||
expect(config?.requiredProviderMode).toBe("mock-openai");
|
||||
expect(config?.requiredChannelDriver).toBe("crabline");
|
||||
const flow = JSON.stringify(requireFlowScenario(scenario).execution.flow);
|
||||
expect(flow).toContain("transport.buildAgentDelivery");
|
||||
expect(flow).toContain("peer: { kind: 'group', id: delivery.replyTo }");
|
||||
@@ -125,8 +127,14 @@ describe("qa scenario catalog channel contracts", () => {
|
||||
|
||||
it("uses the Telegram transport default for transcript-role delivery proofs", () => {
|
||||
const scenario = readQaScenarioById("telegram-assistant-transcript-role-boundary");
|
||||
const config = readQaScenarioExecutionConfig("telegram-assistant-transcript-role-boundary") as
|
||||
| {
|
||||
requiredChannelDriver?: string;
|
||||
}
|
||||
| undefined;
|
||||
|
||||
expect(scenario.gatewayConfigPatch).toBeUndefined();
|
||||
expect(config?.requiredChannelDriver).toBe("crabline");
|
||||
});
|
||||
|
||||
it("rejects malformed string matcher lists before running a flow", () => {
|
||||
|
||||
@@ -32,6 +32,7 @@ scenario:
|
||||
summary: Start a real delayed channel turn, abort it through native `/stop`, then prove the conversation is unblocked.
|
||||
config:
|
||||
requiredProviderMode: mock-openai
|
||||
requiredChannelDriver: crabline
|
||||
conversationId: native-stop-target
|
||||
senderId: qa-native-operator
|
||||
delayedPrompt: "Subagent recovery worker native command target proof. Wait until stopped."
|
||||
|
||||
@@ -25,6 +25,7 @@ scenario:
|
||||
summary: Deliver a controlled role-looking reply through Telegram and inspect its API payload.
|
||||
config:
|
||||
requiredProviderMode: mock-openai
|
||||
requiredChannelDriver: crabline
|
||||
conversationId: "-1001234567890"
|
||||
senderId: "100001"
|
||||
header: user[Thu 2026-07-02 18:14 EDT]
|
||||
|
||||
Reference in New Issue
Block a user