mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 11:41:26 +00:00
test: add routing/session isolation edge-case regressions
This commit is contained in:
@@ -321,4 +321,39 @@ describe("resolveSessionDeliveryTarget", () => {
|
||||
expect(resolved.to).toBe("user:U123");
|
||||
expect(resolved.threadId).toBeUndefined();
|
||||
});
|
||||
|
||||
it("keeps explicit threadId in heartbeat mode", () => {
|
||||
const resolved = resolveSessionDeliveryTarget({
|
||||
entry: {
|
||||
sessionId: "sess-heartbeat-explicit-thread",
|
||||
updatedAt: 1,
|
||||
lastChannel: "telegram",
|
||||
lastTo: "-100123",
|
||||
lastThreadId: 999,
|
||||
},
|
||||
requestedChannel: "last",
|
||||
mode: "heartbeat",
|
||||
explicitThreadId: 42,
|
||||
});
|
||||
|
||||
expect(resolved.channel).toBe("telegram");
|
||||
expect(resolved.to).toBe("-100123");
|
||||
expect(resolved.threadId).toBe(42);
|
||||
expect(resolved.threadIdExplicit).toBe(true);
|
||||
});
|
||||
|
||||
it("parses explicit heartbeat topic targets into threadId", () => {
|
||||
const cfg: OpenClawConfig = {};
|
||||
const resolved = resolveHeartbeatDeliveryTarget({
|
||||
cfg,
|
||||
heartbeat: {
|
||||
target: "telegram",
|
||||
to: "63448508:topic:1008013",
|
||||
},
|
||||
});
|
||||
|
||||
expect(resolved.channel).toBe("telegram");
|
||||
expect(resolved.to).toBe("63448508");
|
||||
expect(resolved.threadId).toBe(1008013);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user