Skip to content

Commit 2e476c6

Browse files
committed
fix: remaining checks
1 parent 7e949ab commit 2e476c6

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

tests/unit/toolBase.test.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,19 @@ function expectDefined<T>(arg: T): asserts arg is Exclude<T, undefined | null> {
2424
describe("ToolBase", () => {
2525
let mockSession: Session;
2626
let mockLogger: CompositeLogger;
27+
let mockLoggerWarning: ReturnType<typeof vi.fn>;
2728
let mockConfig: UserConfig;
2829
let mockTelemetry: Telemetry;
2930
let mockElicitation: Elicitation;
3031
let mockRequestConfirmation: MockedFunction<(message: string) => Promise<boolean>>;
3132
let testTool: TestTool;
3233

3334
beforeEach(() => {
35+
mockLoggerWarning = vi.fn();
3436
mockLogger = {
3537
info: vi.fn(),
3638
debug: vi.fn(),
37-
warning: vi.fn(),
39+
warning: mockLoggerWarning,
3840
error: vi.fn(),
3941
} as unknown as CompositeLogger;
4042

@@ -266,12 +268,14 @@ describe("ToolBase", () => {
266268

267269
describe("appendUIResource", () => {
268270
let mockUIRegistry: UIRegistry;
271+
let mockUIRegistryGet: ReturnType<typeof vi.fn>;
269272
let toolWithUI: TestToolWithOutputSchema;
270273
let mockCallback: ToolCallback<(typeof toolWithUI)["argsShape"]>;
271274

272275
beforeEach(() => {
276+
mockUIRegistryGet = vi.fn();
273277
mockUIRegistry = {
274-
get: vi.fn(),
278+
get: mockUIRegistryGet,
275279
has: vi.fn(),
276280
getAvailableTools: vi.fn(),
277281
} as unknown as UIRegistry;
@@ -332,7 +336,7 @@ describe("ToolBase", () => {
332336
const result = await mockCallback({ input: "test" }, {} as never);
333337

334338
expect(result.content).toHaveLength(1);
335-
expect(mockUIRegistry.get).toHaveBeenCalledWith("test-tool-with-output-schema");
339+
expect(mockUIRegistryGet).toHaveBeenCalledWith("test-tool-with-output-schema");
336340
});
337341

338342
it("should not append UIResource when structuredContent is missing", async () => {
@@ -346,7 +350,7 @@ describe("ToolBase", () => {
346350
);
347351
(mockUIRegistry.get as Mock).mockReturnValue("<html>test UI</html>");
348352

349-
let noStructuredCallback: ToolCallback<ZodRawShape>;
353+
let noStructuredCallback: ToolCallback<ZodRawShape> | undefined;
350354
const mockServer = {
351355
mcpServer: {
352356
registerTool: (
@@ -361,7 +365,8 @@ describe("ToolBase", () => {
361365
};
362366
toolWithoutStructured.register(mockServer as unknown as Server);
363367

364-
const result = await noStructuredCallback!({ input: "test" }, {} as never);
368+
expectDefined(noStructuredCallback);
369+
const result = await noStructuredCallback({ input: "test" }, {} as never);
365370

366371
expect(result.content).toHaveLength(1);
367372
expect(result.structuredContent).toBeUndefined();
@@ -378,7 +383,7 @@ describe("ToolBase", () => {
378383
);
379384
(mockUIRegistry.get as Mock).mockReturnValue("<html>test UI</html>");
380385

381-
let invalidCallback: ToolCallback<ZodRawShape>;
386+
let invalidCallback: ToolCallback<ZodRawShape> | undefined;
382387
const mockServer = {
383388
mcpServer: {
384389
registerTool: (
@@ -393,10 +398,11 @@ describe("ToolBase", () => {
393398
};
394399
toolWithInvalidOutput.register(mockServer as unknown as Server);
395400

396-
const result = await invalidCallback!({ input: "test" }, {} as never);
401+
expectDefined(invalidCallback);
402+
const result = await invalidCallback({ input: "test" }, {} as never);
397403

398404
expect(result.content).toHaveLength(1);
399-
expect(mockLogger.warning).toHaveBeenCalled();
405+
expect(mockLoggerWarning).toHaveBeenCalled();
400406
});
401407

402408
it("should append UIResource correctly when all conditions are met", async () => {

0 commit comments

Comments
 (0)