import { beforeEach, describe, expect, it, vi } from "vitest"; import { callGatewayTool, resolveGatewayOptions } from "./gateway.js"; const callGatewayMock = vi.fn(); vi.mock("../../gateway/call.js", () => ({ callGateway: (...args: unknown[]) => callGatewayMock(...args), })); describe("gateway tool defaults", () => { beforeEach(() => { callGatewayMock.mockReset(); }); it("leaves url undefined so callGateway can use config", () => { const opts = resolveGatewayOptions(); expect(opts.url).toBeUndefined(); }); it("passes through explicit overrides", async () => { callGatewayMock.mockResolvedValueOnce({ ok: true }); await callGatewayTool( "health", { gatewayUrl: "ws://example", gatewayToken: "t", timeoutMs: 5000 }, {}, ); expect(callGatewayMock).toHaveBeenCalledWith( expect.objectContaining({ url: "ws://example", token: "t", timeoutMs: 5000, }), ); }); });