

























@@ -2433,44 +2433,46 @@ describe("matrix live qa scenarios", () => {
2433243324342434const scenario = requireMatrixQaScenario("matrix-subagent-thread-spawn");
243524352436-await expect(
2437-runMatrixQaScenario(scenario, {
2438-baseUrl: "http://127.0.0.1:28008/",
2439-canary: undefined,
2440-driverAccessToken: "driver-token",
2441-driverUserId: "@driver:matrix-qa.test",
2442-observedEvents: [],
2443-observerAccessToken: "observer-token",
2444-observerUserId: "@observer:matrix-qa.test",
2445-roomId: "!main:matrix-qa.test",
2446-restartGateway: undefined,
2447-syncState: {},
2448-sutAccessToken: "sut-token",
2449-sutUserId: "@sut:matrix-qa.test",
2450-timeoutMs: 8_000,
2451-topology: {
2452-defaultRoomId: "!main:matrix-qa.test",
2453-defaultRoomKey: "main",
2454-rooms: [],
2455-},
2456-}),
2457-).resolves.toMatchObject({
2458-artifacts: {
2459-driverEventId: "$subagent-spawn-trigger",
2460-subagentCompletion: {
2461-eventId: "$subagent-completion",
2462-relatesTo: {
2463-relType: "m.thread",
2464-eventId: "$subagent-thread-root",
2465-},
2466-tokenMatched: true,
2467-},
2468-subagentIntro: {
2469-eventId: "$subagent-thread-root",
2470-},
2471-threadRootEventId: "$subagent-thread-root",
2436+const result = await runMatrixQaScenario(scenario, {
2437+baseUrl: "http://127.0.0.1:28008/",
2438+canary: undefined,
2439+driverAccessToken: "driver-token",
2440+driverUserId: "@driver:matrix-qa.test",
2441+observedEvents: [],
2442+observerAccessToken: "observer-token",
2443+observerUserId: "@observer:matrix-qa.test",
2444+roomId: "!main:matrix-qa.test",
2445+restartGateway: undefined,
2446+syncState: {},
2447+sutAccessToken: "sut-token",
2448+sutUserId: "@sut:matrix-qa.test",
2449+timeoutMs: 8_000,
2450+topology: {
2451+defaultRoomId: "!main:matrix-qa.test",
2452+defaultRoomKey: "main",
2453+rooms: [],
24722454},
24732455});
2456+const artifacts = result.artifacts as {
2457+driverEventId?: unknown;
2458+subagentCompletion?: {
2459+eventId?: unknown;
2460+relatesTo?: {
2461+eventId?: unknown;
2462+relType?: unknown;
2463+};
2464+tokenMatched?: unknown;
2465+};
2466+subagentIntro?: { eventId?: unknown };
2467+threadRootEventId?: unknown;
2468+};
2469+expect(artifacts.driverEventId).toBe("$subagent-spawn-trigger");
2470+expect(artifacts.subagentCompletion?.eventId).toBe("$subagent-completion");
2471+expect(artifacts.subagentCompletion?.relatesTo?.relType).toBe("m.thread");
2472+expect(artifacts.subagentCompletion?.relatesTo?.eventId).toBe("$subagent-thread-root");
2473+expect(artifacts.subagentCompletion?.tokenMatched).toBe(true);
2474+expect(artifacts.subagentIntro?.eventId).toBe("$subagent-thread-root");
2475+expect(artifacts.threadRootEventId).toBe("$subagent-thread-root");
2474247624752477expect(sendTextMessage).toHaveBeenCalledWith({
24762478body: expect.stringContaining("Call sessions_spawn now for this QA check"),
@@ -2482,19 +2484,10 @@ describe("matrix live qa scenarios", () => {
24822484mentionUserIds: ["@sut:matrix-qa.test"],
24832485roomId: "!main:matrix-qa.test",
24842486});
2485-expect(waitForRoomEvent).toHaveBeenNthCalledWith(
2486-1,
2487-expect.objectContaining({
2488-since: "driver-sync-start",
2489-}),
2490-);
2491-expect(waitForRoomEvent).toHaveBeenNthCalledWith(
2492-2,
2493-expect.objectContaining({
2494-predicate: expect.any(Function),
2495-since: "driver-sync-intro",
2496-}),
2497-);
2487+expect(waitForRoomEvent.mock.calls[0]?.[0]?.since).toBe("driver-sync-start");
2488+const completionWaitOptions = waitForRoomEvent.mock.calls[1]?.[0];
2489+expect(typeof completionWaitOptions?.predicate).toBe("function");
2490+expect(completionWaitOptions?.since).toBe("driver-sync-intro");
24982491const introPredicate = waitForRoomEvent.mock.calls[0]?.[0]?.predicate as
24992492| ((event: MatrixQaObservedEvent) => boolean)
25002493| undefined;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。