
















@@ -127,7 +127,14 @@ function mockCallArg(
127127callIndex: number,
128128argIndex: number,
129129) {
130-return mockFn.mock.calls[callIndex]?.[argIndex];
130+const call = mockFn.mock.calls.at(callIndex);
131+if (!call) {
132+throw new Error(`Expected mock call ${callIndex} to exist`);
133+}
134+if (!(argIndex in call)) {
135+throw new Error(`Expected mock call ${callIndex} argument ${argIndex} to exist`);
136+}
137+return call[argIndex];
131138}
132139133140describe("matrix message actions", () => {
@@ -168,8 +175,8 @@ describe("matrix message actions", () => {
168175);
169176170177expect(result).toEqual({ eventId: "evt-edit" });
171-expect(sendMessage.mock.calls[0]?.[0]).toBe("!room:example.org");
172-const content = expectRecordFields(sendMessage.mock.calls[0]?.[1], {
178+expect(mockCallArg(sendMessage, 0, 0)).toBe("!room:example.org");
179+const content = expectRecordFields(mockCallArg(sendMessage, 0, 1), {
173180"m.mentions": { user_ids: ["@bob:example.org"] },
174181});
175182expectRecordFields(content["m.new_content"], {
@@ -191,8 +198,8 @@ describe("matrix message actions", () => {
191198);
192199193200expect(result).toEqual({ eventId: "evt-edit" });
194-expect(sendMessage.mock.calls[0]?.[0]).toBe("!room:example.org");
195-const content = expectRecordFields(sendMessage.mock.calls[0]?.[1], {
201+expect(mockCallArg(sendMessage, 0, 0)).toBe("!room:example.org");
202+const content = expectRecordFields(mockCallArg(sendMessage, 0, 1), {
196203"m.mentions": {},
197204});
198205expectRecordFields(content["m.new_content"], {
@@ -287,9 +294,9 @@ describe("matrix message actions", () => {
287294288295const result = await readMatrixMessages("room:!room:example.org", { client });
289296290-expect(hydrateEvents.mock.calls[0]?.[0]).toBe("!room:example.org");
297+expect(mockCallArg(hydrateEvents, 0, 0)).toBe("!room:example.org");
291298expect(
292-(hydrateEvents.mock.calls[0]?.[1] as Array<Record<string, unknown>> | undefined)?.some(
299+(mockCallArg(hydrateEvents, 0, 1) as Array<Record<string, unknown>>).some(
293300(event) => event.event_id === "$enc",
294301),
295302).toBe(true);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。