

























@@ -73,16 +73,17 @@ const runAckReaction = (overrides: Partial<AckReactionParams> = {}) =>
7373 ...overrides,
7474});
757576-const expectAckReactionSent = (accountId: string) => {
76+const expectAckReactionSent = (accountId: string, cfg: OpenClawConfig = createConfig("ack")) => {
7777expect(hoisted.sendReactionWhatsApp).toHaveBeenCalledWith(
7878"15551234567@s.whatsapp.net",
7979"msg-1",
8080"👀",
81-expect.objectContaining({
81+{
8282verbose: false,
8383fromMe: false,
8484 accountId,
85-}),
85+ cfg,
86+},
8687);
8788};
8889@@ -94,13 +95,14 @@ describe("maybeSendAckReaction", () => {
9495it.each(["ack", "minimal", "extensive"] as const)(
9596"sends ack reactions when reactionLevel is %s",
9697async (reactionLevel) => {
98+const cfg = createConfig(reactionLevel);
9799const ackReaction = await runAckReaction({
98-cfg: createConfig(reactionLevel),
100+ cfg,
99101});
100102101103expect(ackReaction?.ackReactionValue).toBe("👀");
102104await expect(ackReaction?.ackReactionPromise).resolves.toBe(true);
103-expectAckReactionSent("default");
105+expectAckReactionSent("default", cfg);
104106},
105107);
106108@@ -114,14 +116,15 @@ describe("maybeSendAckReaction", () => {
114116});
115117116118it("uses the active account reactionLevel override for ack gating", async () => {
117-const ackReaction = await runAckReaction({
118-cfg: createConfig("off", {
119-accounts: {
120-work: {
121-reactionLevel: "ack",
122-},
119+const cfg = createConfig("off", {
120+accounts: {
121+work: {
122+reactionLevel: "ack",
123123},
124-}),
124+},
125+});
126+const ackReaction = await runAckReaction({
127+ cfg,
125128msg: createMessage({
126129accountId: "work",
127130}),
@@ -130,39 +133,42 @@ describe("maybeSendAckReaction", () => {
130133});
131134132135expect(ackReaction?.ackReactionValue).toBe("👀");
133-expectAckReactionSent("work");
136+expectAckReactionSent("work", cfg);
134137});
135138136139it("returns a handle that removes the ack with an empty reaction", async () => {
137-const ackReaction = await runAckReaction();
140+const cfg = createConfig("ack");
141+const ackReaction = await runAckReaction({ cfg });
138142139143await ackReaction?.remove();
140144141145expect(hoisted.sendReactionWhatsApp).toHaveBeenLastCalledWith(
142146"15551234567@s.whatsapp.net",
143147"msg-1",
144148"",
145-expect.objectContaining({
149+{
146150verbose: false,
147151fromMe: false,
148152accountId: "default",
149-}),
153+ cfg,
154+},
150155);
151156});
152157153158it("records ack send failures on the handle", async () => {
159+const cfg = createConfig("ack");
154160const warn = vi.fn();
155161hoisted.sendReactionWhatsApp.mockRejectedValueOnce(new Error("session down"));
156162157-const ackReaction = await runAckReaction({ warn });
163+const ackReaction = await runAckReaction({ cfg, warn });
158164159165await expect(ackReaction?.ackReactionPromise).resolves.toBe(false);
160166expect(warn).toHaveBeenCalledWith(
161-expect.objectContaining({
167+{
162168error: "session down",
163169chatId: "15551234567@s.whatsapp.net",
164170messageId: "msg-1",
165-}),
171+},
166172"failed to send ack reaction",
167173);
168174});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。