




















@@ -710,14 +710,15 @@ describe("resolveDriveCommentEventTurn", () => {
710710);
711711expect(turn?.prompt).toContain(`file_token: ${TEST_DOC_TOKEN}`);
712712expect(turn?.prompt).toContain("Event type: add_reply");
713-expect(client.request).toHaveBeenCalledWith(
714-expect.objectContaining({
715-method: "GET",
716-url: expect.stringContaining(
717-`/comments/7623358762119646411/replies?file_type=docx&page_size=100&user_id_type=open_id`,
718-),
719-}),
720-);
713+const replyLookup = client.request.mock.calls
714+.map(([request]) => request)
715+.find((request) => request.url.includes("/comments/7623358762119646411/replies"));
716+expect(replyLookup).toEqual({
717+method: "GET",
718+url: `/open-apis/drive/v1/files/${TEST_DOC_TOKEN}/comments/7623358762119646411/replies?file_type=docx&page_size=100&user_id_type=open_id`,
719+data: {},
720+timeout: 3000,
721+});
721722});
722723723724it("retries comment reply lookup when the requested reply is not immediately visible", async () => {
@@ -827,16 +828,17 @@ describe("drive.notice.comment_add_v1 monitor handler", () => {
827828await onComment(makeDriveCommentEvent());
828829829830expect(handleFeishuCommentEventMock).toHaveBeenCalledTimes(1);
830-expect(handleFeishuCommentEventMock).toHaveBeenCalledWith(
831-expect.objectContaining({
832-accountId: "default",
833-botOpenId: "ou_bot",
834-event: expect.objectContaining({
835-event_id: "10d9d60b990db39f96a4c2fd357fb877",
836-comment_id: "7623358762119646411",
837-}),
838-}),
839-);
831+const handleArgs = handleFeishuCommentEventMock.mock.calls[0]?.[0] as
832+| {
833+accountId?: string;
834+botOpenId?: string;
835+event?: { comment_id?: string; event_id?: string };
836+}
837+| undefined;
838+expect(handleArgs?.accountId).toBe("default");
839+expect(handleArgs?.botOpenId).toBe("ou_bot");
840+expect(handleArgs?.event?.event_id).toBe("10d9d60b990db39f96a4c2fd357fb877");
841+expect(handleArgs?.event?.comment_id).toBe("7623358762119646411");
840842});
841843842844it("serializes same-document comment notices before invoking handleFeishuCommentEvent", async () => {
@@ -901,11 +903,7 @@ describe("drive.notice.comment_add_v1 monitor handler", () => {
901903await onComment(makeDriveCommentEvent());
902904903905await vi.waitFor(() => {
904-expect(dedup.recordProcessedFeishuMessage).toHaveBeenCalledWith(
905-"drive-comment:10d9d60b990db39f96a4c2fd357fb877",
906-"default",
907-expect.any(Function),
908-);
906+expect(dedup.recordProcessedFeishuMessage).toHaveBeenCalledTimes(1);
909907expect(dedup.releaseFeishuMessageProcessing).toHaveBeenCalledWith(
910908"drive-comment:10d9d60b990db39f96a4c2fd357fb877",
911909"default",
@@ -914,6 +912,11 @@ describe("drive.notice.comment_add_v1 monitor handler", () => {
914912expect.stringContaining("error handling drive comment notice: Error: post-send failure"),
915913);
916914});
915+const [recordedMessageId, recordedNamespace, recordedLogger] =
916+(dedup.recordProcessedFeishuMessage as ReturnType<typeof vi.fn>).mock.calls[0] ?? [];
917+expect(recordedMessageId).toBe("drive-comment:10d9d60b990db39f96a4c2fd357fb877");
918+expect(recordedNamespace).toBe("default");
919+expect(typeof recordedLogger).toBe("function");
917920});
918921919922it("releases comment replay without recording when failure is explicitly retryable", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。