

























@@ -164,6 +164,14 @@ function expectRecordFields(
164164return record;
165165}
166166167+function firstMockArg(mock: ReturnType<typeof vi.fn>, label: string): unknown {
168+const [arg] = mock.mock.calls[0] ?? [];
169+if (arg === undefined) {
170+throw new Error(`expected ${label}`);
171+}
172+return arg;
173+}
174+167175async function expectGatewayRequestError(
168176promise: Promise<unknown>,
169177expected: Record<string, unknown>,
@@ -198,7 +206,7 @@ function expectSecurityConnectError(
198206onConnectError: ReturnType<typeof vi.fn>,
199207params?: { expectTailscaleHint?: boolean },
200208) {
201-const error = onConnectError.mock.calls.at(0)?.[0] as Error;
209+const error = firstMockArg(onConnectError, "connect error") as Error;
202210expect(error.message).toContain("SECURITY ERROR");
203211expect(error.message).toContain("openclaw doctor --fix");
204212if (params?.expectTailscaleHint) {
@@ -905,7 +913,7 @@ describe("GatewayClient connect auth payload", () => {
905913client.stop();
906914907915await vi.waitFor(() => {
908-const error = onConnectError.mock.calls.at(0)?.[0] as Error | undefined;
916+const error = firstMockArg(onConnectError, "connect error") as Error;
909917expect(error?.message).toBe("gateway client stopped");
910918});
911919expect(logDebugMock).toHaveBeenCalledWith(
@@ -1018,7 +1026,7 @@ describe("GatewayClient connect auth payload", () => {
10181026emitConnectChallenge(ws);
1019102710201028const loadTokenParams = expectRecordFields(
1021-loadDeviceAuthTokenMock.mock.calls.at(0)?.[0],
1029+firstMockArg(loadDeviceAuthTokenMock, "load device token params"),
10221030{
10231031role: "operator",
10241032 env,
@@ -1196,7 +1204,7 @@ describe("GatewayClient connect auth payload", () => {
11961204failureDetails: { code: "AUTH_DEVICE_TOKEN_MISMATCH" },
11971205});
11981206const clearTokenParams = expectRecordFields(
1199-clearDeviceAuthTokenMock.mock.calls.at(0)?.[0],
1207+firstMockArg(clearDeviceAuthTokenMock, "clear device token params"),
12001208{ role: "operator" },
12011209"clear device token params",
12021210);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。