


























@@ -49,6 +49,24 @@ vi.mock("../channels/plugins/index.js", () => ({
4949getChannelPlugin: mocks.getChannelPlugin,
5050}));
515152+function requireRecord(value: unknown, label: string): Record<string, unknown> {
53+if (!value || typeof value !== "object" || Array.isArray(value)) {
54+throw new Error(`expected ${label}`);
55+}
56+return value as Record<string, unknown>;
57+}
58+59+function requireFirstMockArg(
60+mock: { mock: { calls: unknown[][] } },
61+label: string,
62+): Record<string, unknown> {
63+const [call] = mock.mock.calls;
64+if (!call) {
65+throw new Error(`expected ${label} call`);
66+}
67+return requireRecord(call[0], `${label} request`);
68+}
69+5270describe("channelsResolveCommand", () => {
5371const runtime = {
5472log: vi.fn(),
@@ -103,16 +121,19 @@ describe("channelsResolveCommand", () => {
103121);
104122105123expect(mocks.resolveInstallableChannelPlugin).toHaveBeenCalledTimes(1);
106-const pluginResolutionRequest = mocks.resolveInstallableChannelPlugin.mock.calls[0]?.[0];
107-expect(pluginResolutionRequest?.rawChannel).toBe("whatsapp");
108-expect(pluginResolutionRequest?.allowInstall).toBe(false);
124+const pluginResolutionRequest = requireFirstMockArg(
125+mocks.resolveInstallableChannelPlugin,
126+"installable channel resolution",
127+);
128+expect(pluginResolutionRequest.rawChannel).toBe("whatsapp");
129+expect(pluginResolutionRequest.allowInstall).toBe(false);
109130expect(mocks.replaceConfigFile).not.toHaveBeenCalled();
110131expect(mocks.refreshPluginRegistryAfterConfigMutation).not.toHaveBeenCalled();
111132expect(resolveTargets).toHaveBeenCalledTimes(1);
112-const resolveRequest = resolveTargets.mock.calls[0]?.[0];
113-expect(resolveRequest?.cfg).toStrictEqual({ channels: {} });
114-expect(resolveRequest?.inputs).toStrictEqual(["friends"]);
115-expect(resolveRequest?.kind).toBe("group");
133+const resolveRequest = requireFirstMockArg(resolveTargets, "target resolution");
134+expect(resolveRequest.cfg).toStrictEqual({ channels: {} });
135+expect(resolveRequest.inputs).toStrictEqual(["friends"]);
136+expect(resolveRequest.kind).toBe("group");
116137expect(runtime.log).toHaveBeenCalledWith("friends -> 120363000000@g.us (Friends)");
117138});
118139@@ -182,9 +203,9 @@ describe("channelsResolveCommand", () => {
182203channel: null,
183204});
184205expect(resolveTargets).toHaveBeenCalledTimes(1);
185-const resolveRequest = resolveTargets.mock.calls[0]?.[0];
186-expect(resolveRequest?.cfg).toBe(autoEnabledConfig);
187-expect(resolveRequest?.inputs).toStrictEqual(["friends"]);
188-expect(resolveRequest?.kind).toBe("group");
206+const resolveRequest = requireFirstMockArg(resolveTargets, "target resolution");
207+expect(resolveRequest.cfg).toBe(autoEnabledConfig);
208+expect(resolveRequest.inputs).toStrictEqual(["friends"]);
209+expect(resolveRequest.kind).toBe("group");
189210});
190211});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。