Skip to content

Commit 7a8d86b

Browse files
committed
test: guard doctor command mock calls
1 parent b37a71f commit 7a8d86b

10 files changed

Lines changed: 10 additions & 10 deletions

src/commands/configure.daemon.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe("maybeInstallDaemon", () => {
100100

101101
expect(resolveGatewayInstallToken).toHaveBeenCalledTimes(1);
102102
expect(buildGatewayInstallPlan).toHaveBeenCalledTimes(1);
103-
expect("token" in buildGatewayInstallPlan.mock.calls[0][0]).toBe(false);
103+
expect("token" in buildGatewayInstallPlan.mock.calls.at(0)?.[0]).toBe(false);
104104
expect(serviceInstall).toHaveBeenCalledTimes(1);
105105
});
106106

src/commands/dashboard.links.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ describe("dashboardCommand", () => {
166166
// hint string is written to runtime.log, which flows into the same
167167
// console-captured log file readable by operator.read-scoped devices.
168168
expect(formatControlUiSshHintMock).toHaveBeenCalledWith({ port: 18789, basePath: undefined });
169-
const [sshHintOptions] = formatControlUiSshHintMock.mock.calls[0] ?? [];
169+
const [sshHintOptions] = formatControlUiSshHintMock.mock.calls.at(0) ?? [];
170170
expect(sshHintOptions).not.toHaveProperty("token");
171171

172172
// Double-check: no logged line contains the secret.

src/commands/doctor-bootstrap-size.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe("noteBootstrapFileSize", () => {
5252
});
5353
await noteBootstrapFileSize({} as OpenClawConfig);
5454
expect(note).toHaveBeenCalledTimes(1);
55-
const [message, title] = note.mock.calls[0] ?? [];
55+
const [message, title] = note.mock.calls.at(0) ?? [];
5656
expect(title).toBe("Bootstrap file size");
5757
expect(message).toBe(
5858
[

src/commands/doctor-gateway-daemon-flow.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ describe("maybeRepairGatewayDaemon", () => {
307307
});
308308

309309
expect(readGatewayRestartHandoffSync).toHaveBeenCalledOnce();
310-
const [handoffEnv] = readGatewayRestartHandoffSync.mock.calls[0] as unknown as [
310+
const [handoffEnv] = readGatewayRestartHandoffSync.mock.calls.at(0) as unknown as [
311311
{ OPENCLAW_STATE_DIR?: string; OPENCLAW_CONFIG_PATH?: string },
312312
];
313313
expect(handoffEnv?.OPENCLAW_STATE_DIR).toBe("/tmp/openclaw-service");

src/commands/doctor/repair-sequencing.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ describe("doctor repair sequencing", () => {
306306

307307
expect(events).toEqual(["bundled-shadow-cleanup", "openclaw-peer-links", "missing-installs"]);
308308
expect(mocks.maybeRepairStaleManagedNpmBundledPlugins).toHaveBeenCalledOnce();
309-
const cleanupCall = mocks.maybeRepairStaleManagedNpmBundledPlugins.mock.calls[0]?.[0];
309+
const cleanupCall = mocks.maybeRepairStaleManagedNpmBundledPlugins.mock.calls.at(0)?.[0];
310310
expect(cleanupCall?.config.plugins?.entries?.["google-meet"]).toEqual({ enabled: true });
311311
expect(cleanupCall?.prompter).toEqual({ shouldRepair: true });
312312
expect(mocks.maybeRepairManagedNpmOpenClawPeerLinks).toHaveBeenCalledWith(

src/commands/doctor/shared/channel-doctor.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ describe("channel doctor compatibility mutations", () => {
305305
cfg,
306306
READ_ONLY_CHANNEL_DOCTOR_OPTIONS,
307307
);
308-
expect(collectEmptyAllowlistExtraWarnings.mock.calls[0]?.[0]).not.toHaveProperty("cfg");
308+
expect(collectEmptyAllowlistExtraWarnings.mock.calls.at(0)?.[0]).not.toHaveProperty("cfg");
309309
});
310310

311311
it("reuses empty allowlist doctor entries across per-account hooks", () => {

src/commands/doctor/shared/empty-allowlist-scan.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ describe("doctor empty allowlist policy scan", () => {
8383

8484
expect(warnings).toEqual(["extra:channels.signal"]);
8585
expect(extraWarningsForAccount).toHaveBeenCalledTimes(1);
86-
const [warningOptions] = extraWarningsForAccount.mock.calls[0] ?? [];
86+
const [warningOptions] = extraWarningsForAccount.mock.calls.at(0) ?? [];
8787
expect(warningOptions?.prefix).toBe("channels.signal");
8888
});
8989
});

src/commands/flows.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ describe("flows commands", () => {
8888
const runtime = createRuntime();
8989
await flowsListCommand({ json: true, status: "blocked" }, runtime);
9090

91-
const payload = JSON.parse(String(vi.mocked(runtime.log).mock.calls[0]?.[0]));
91+
const payload = JSON.parse(String(vi.mocked(runtime.log).mock.calls.at(0)?.[0]));
9292

9393
expect(payload).toStrictEqual({
9494
count: 1,

src/commands/models/shared.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ describe("models/shared", () => {
5757
}));
5858

5959
expect(mocks.replaceConfigFile).toHaveBeenCalledOnce();
60-
const [replaceParams] = mocks.replaceConfigFile.mock.calls[0] ?? [];
60+
const [replaceParams] = mocks.replaceConfigFile.mock.calls.at(0) ?? [];
6161
expect(replaceParams?.nextConfig.update).toEqual({ channel: "beta" });
6262
expect(replaceParams?.baseHash).toBe("config-1");
6363
});

src/commands/oauth-tls-preflight.doctor.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ describe("noteOpenAIOAuthTlsPrerequisites", () => {
4444
}
4545

4646
expect(note).toHaveBeenCalledTimes(1);
47-
const [message, title] = note.mock.calls[0] as [string, string];
47+
const [message, title] = note.mock.calls.at(0) as [string, string];
4848
expect(title).toBe("OAuth TLS prerequisites");
4949
expect(message).toContain("brew postinstall ca-certificates");
5050
});

0 commit comments

Comments
 (0)