




















@@ -551,19 +551,14 @@ describe("deliverOutboundPayloads", () => {
551551payloads: [{ text: "hello" }],
552552});
553553554-expect(messageSendText).toHaveBeenCalledWith(
555-expect.objectContaining({
556-to: "!room:example",
557-text: "hello",
558-}),
559-);
554+const [[sendTextParams]] = messageSendText.mock.calls as unknown as Array<
555+[Record<string, unknown>]
556+>;
557+expect(sendTextParams?.to).toBe("!room:example");
558+expect(sendTextParams?.text).toBe("hello");
560559expect(outboundSendText).not.toHaveBeenCalled();
561-expect(results).toMatchObject([
562-{
563-channel: "matrix",
564-messageId: "message-adapter-1",
565-},
566-]);
560+expect(results[0]?.channel).toBe("matrix");
561+expect(results[0]?.messageId).toBe("message-adapter-1");
567562expect(results[0]?.receipt?.platformMessageIds).toEqual(["message-adapter-1"]);
568563});
569564@@ -652,28 +647,26 @@ describe("deliverOutboundPayloads", () => {
652647"ack",
653648"commit:pending-1:message-adapter-1",
654649]);
655-expect(beforeSendAttempt).toHaveBeenCalledWith(
656-expect.objectContaining({
657-kind: "text",
658-to: "!room:example",
659-text: "hello",
660-}),
661-);
662-expect(afterSendSuccess).toHaveBeenCalledWith(
663-expect.objectContaining({
664-kind: "text",
665-attemptToken: "pending-1",
666-result: expect.objectContaining({ messageId: "message-adapter-1" }),
667-}),
668-);
669-expect(afterCommit).toHaveBeenCalledWith(
670-expect.objectContaining({
671-kind: "text",
672-attemptToken: "pending-1",
673-result: expect.objectContaining({ messageId: "message-adapter-1" }),
674-}),
675-);
676-expect(results).toMatchObject([{ channel: "matrix", messageId: "message-adapter-1" }]);
650+const [[beforeParams]] = beforeSendAttempt.mock.calls as unknown as Array<
651+[Record<string, unknown>]
652+>;
653+expect(beforeParams?.kind).toBe("text");
654+expect(beforeParams?.to).toBe("!room:example");
655+expect(beforeParams?.text).toBe("hello");
656+const [[successParams]] = afterSendSuccess.mock.calls as unknown as Array<
657+[Record<string, unknown> & { result?: { messageId?: string } }]
658+>;
659+expect(successParams?.kind).toBe("text");
660+expect(successParams?.attemptToken).toBe("pending-1");
661+expect(successParams?.result?.messageId).toBe("message-adapter-1");
662+const [[commitParams]] = afterCommit.mock.calls as unknown as Array<
663+[Record<string, unknown> & { result?: { messageId?: string } }]
664+>;
665+expect(commitParams?.kind).toBe("text");
666+expect(commitParams?.attemptToken).toBe("pending-1");
667+expect(commitParams?.result?.messageId).toBe("message-adapter-1");
668+expect(results[0]?.channel).toBe("matrix");
669+expect(results[0]?.messageId).toBe("message-adapter-1");
677670});
678671679672it("does not mark queued delivery as unknown when hooks cancel before platform send", async () => {
@@ -745,13 +738,12 @@ describe("deliverOutboundPayloads", () => {
745738}),
746739).rejects.toThrow("native send failed");
747740748-expect(afterSendFailure).toHaveBeenCalledWith(
749-expect.objectContaining({
750-kind: "text",
751-attemptToken: "pending-2",
752-error: expect.any(Error),
753-}),
754-);
741+const [[failureParams]] = afterSendFailure.mock.calls as unknown as Array<
742+[Record<string, unknown>]
743+>;
744+expect(failureParams?.kind).toBe("text");
745+expect(failureParams?.attemptToken).toBe("pending-2");
746+expect(failureParams?.error).toBeInstanceOf(Error);
755747expect(queueMocks.failDelivery).toHaveBeenCalledWith(
756748"mock-queue-id",
757749expect.stringContaining("native send failed"),
@@ -803,13 +795,12 @@ describe("deliverOutboundPayloads", () => {
803795}),
804796).rejects.toThrow("native send failed");
805797806-expect(afterSendFailure).toHaveBeenCalledWith(
807-expect.objectContaining({
808-kind: "text",
809-attemptToken: "pending-2",
810-error: expect.any(Error),
811-}),
812-);
798+const [[failureParams]] = afterSendFailure.mock.calls as unknown as Array<
799+[Record<string, unknown>]
800+>;
801+expect(failureParams?.kind).toBe("text");
802+expect(failureParams?.attemptToken).toBe("pending-2");
803+expect(failureParams?.error).toBeInstanceOf(Error);
813804expect(queueMocks.failDelivery).toHaveBeenCalledWith(
814805"mock-queue-id",
815806expect.stringContaining("native send failed"),
@@ -865,14 +856,14 @@ describe("deliverOutboundPayloads", () => {
865856queuePolicy: "required",
866857});
867858868-expect(results).toMatchObject([{ channel: "matrix", messageId: "message-adapter-1" }]);
859+expect(results[0]?.channel).toBe("matrix");
860+expect(results[0]?.messageId).toBe("message-adapter-1");
869861expect(afterSendFailure).not.toHaveBeenCalled();
870-expect(afterCommit).toHaveBeenCalledWith(
871-expect.objectContaining({
872-kind: "text",
873-result: expect.objectContaining({ messageId: "message-adapter-1" }),
874-}),
875-);
862+const [[commitParams]] = afterCommit.mock.calls as unknown as Array<
863+[Record<string, unknown> & { result?: { messageId?: string } }]
864+>;
865+expect(commitParams?.kind).toBe("text");
866+expect(commitParams?.result?.messageId).toBe("message-adapter-1");
876867expect(queueMocks.ackDelivery).toHaveBeenCalledWith("mock-queue-id");
877868expect(queueMocks.failDelivery).not.toHaveBeenCalled();
878869});
@@ -899,16 +890,15 @@ describe("deliverOutboundPayloads", () => {
899890queueMocks.enqueueDelivery.mockRejectedValueOnce(new Error("queue offline"));
900891const sendMatrix = vi.fn().mockResolvedValue({ messageId: "m1" });
901892902-await expect(
903-deliverOutboundPayloads({
904-cfg: {},
905-channel: "matrix",
906-to: "!room:example",
907-payloads: [{ text: "hi" }],
908-deps: { matrix: sendMatrix },
909-queuePolicy: "best_effort",
910-}),
911-).resolves.toEqual([expect.objectContaining({ messageId: "m1" })]);
893+const results = await deliverOutboundPayloads({
894+cfg: {},
895+channel: "matrix",
896+to: "!room:example",
897+payloads: [{ text: "hi" }],
898+deps: { matrix: sendMatrix },
899+queuePolicy: "best_effort",
900+});
901+expect(results[0]?.messageId).toBe("m1");
912902913903expect(sendMatrix).toHaveBeenCalled();
914904});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。