diff options
Diffstat (limited to 'packages/tool-web-search/src/validate.test.ts')
| -rw-r--r-- | packages/tool-web-search/src/validate.test.ts | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/packages/tool-web-search/src/validate.test.ts b/packages/tool-web-search/src/validate.test.ts index 30ae26c..ca1aa7f 100644 --- a/packages/tool-web-search/src/validate.test.ts +++ b/packages/tool-web-search/src/validate.test.ts @@ -1,92 +1,92 @@ import { describe, expect, it } from "vitest"; import { - type CrawlArgs, - type MapArgs, - type ScrapeArgs, - type SearchArgs, - validateArgs, + type CrawlArgs, + type MapArgs, + type ScrapeArgs, + type SearchArgs, + validateArgs, } from "./validate.js"; describe("validateArgs", () => { - it("mode defaults to search when query present", () => { - const result = validateArgs({ query: "hello" }); - expect("error" in result).toBe(false); - if ("error" in result) return; - expect(result.mode).toBe("search"); - expect((result as SearchArgs).query).toBe("hello"); - }); + it("mode defaults to search when query present", () => { + const result = validateArgs({ query: "hello" }); + expect("error" in result).toBe(false); + if ("error" in result) return; + expect(result.mode).toBe("search"); + expect((result as SearchArgs).query).toBe("hello"); + }); - it("mode defaults to scrape when url present (no query)", () => { - const result = validateArgs({ url: "http://example.com" }); - expect("error" in result).toBe(false); - if ("error" in result) return; - expect(result.mode).toBe("scrape"); - expect((result as ScrapeArgs).url).toBe("http://example.com"); - }); + it("mode defaults to scrape when url present (no query)", () => { + const result = validateArgs({ url: "http://example.com" }); + expect("error" in result).toBe(false); + if ("error" in result) return; + expect(result.mode).toBe("scrape"); + expect((result as ScrapeArgs).url).toBe("http://example.com"); + }); - it("explicit mode overrides defaults", () => { - const result = validateArgs({ query: "hello", url: "http://x", mode: "map" }); - expect("error" in result).toBe(false); - if ("error" in result) return; - expect(result.mode).toBe("map"); - expect((result as MapArgs).url).toBe("http://x"); - }); + it("explicit mode overrides defaults", () => { + const result = validateArgs({ query: "hello", url: "http://x", mode: "map" }); + expect("error" in result).toBe(false); + if ("error" in result) return; + expect(result.mode).toBe("map"); + expect((result as MapArgs).url).toBe("http://x"); + }); - it("search mode requires query", () => { - const result = validateArgs({ mode: "search" }); - expect(result).toHaveProperty("error"); - }); + it("search mode requires query", () => { + const result = validateArgs({ mode: "search" }); + expect(result).toHaveProperty("error"); + }); - it("scrape/crawl/map modes require url", () => { - expect(validateArgs({ mode: "scrape" })).toHaveProperty("error"); - expect(validateArgs({ mode: "crawl" })).toHaveProperty("error"); - expect(validateArgs({ mode: "map" })).toHaveProperty("error"); - }); + it("scrape/crawl/map modes require url", () => { + expect(validateArgs({ mode: "scrape" })).toHaveProperty("error"); + expect(validateArgs({ mode: "crawl" })).toHaveProperty("error"); + expect(validateArgs({ mode: "map" })).toHaveProperty("error"); + }); - it("limit clamped to max 10", () => { - const result = validateArgs({ query: "hello", limit: 50 }); - expect("error" in result).toBe(false); - if ("error" in result) return; - expect((result as SearchArgs).limit).toBe(10); - }); + it("limit clamped to max 10", () => { + const result = validateArgs({ query: "hello", limit: 50 }); + expect("error" in result).toBe(false); + if ("error" in result) return; + expect((result as SearchArgs).limit).toBe(10); + }); - it("limit defaults to 7 (search) / 3 (crawl)", () => { - const search = validateArgs({ query: "hello" }); - expect("error" in search).toBe(false); - if ("error" in search) return; - expect((search as SearchArgs).limit).toBe(7); + it("limit defaults to 7 (search) / 3 (crawl)", () => { + const search = validateArgs({ query: "hello" }); + expect("error" in search).toBe(false); + if ("error" in search) return; + expect((search as SearchArgs).limit).toBe(7); - const crawl = validateArgs({ url: "http://x", mode: "crawl" }); - expect("error" in crawl).toBe(false); - if ("error" in crawl) return; - expect((crawl as CrawlArgs).limit).toBe(3); - }); + const crawl = validateArgs({ url: "http://x", mode: "crawl" }); + expect("error" in crawl).toBe(false); + if ("error" in crawl) return; + expect((crawl as CrawlArgs).limit).toBe(3); + }); - it("format defaults to markdown", () => { - const result = validateArgs({ query: "hello" }); - expect("error" in result).toBe(false); - if ("error" in result) return; - expect(result.format).toBe("markdown"); - }); + it("format defaults to markdown", () => { + const result = validateArgs({ query: "hello" }); + expect("error" in result).toBe(false); + if ("error" in result) return; + expect(result.format).toBe("markdown"); + }); - it("rejects invalid mode", () => { - const result = validateArgs({ mode: "invalid" }); - expect(result).toHaveProperty("error"); - if (!("error" in result)) return; - expect(result.error).toContain("Invalid mode"); - }); + it("rejects invalid mode", () => { + const result = validateArgs({ mode: "invalid" }); + expect(result).toHaveProperty("error"); + if (!("error" in result)) return; + expect(result.error).toContain("Invalid mode"); + }); - it("rejects invalid format", () => { - const result = validateArgs({ url: "http://x", format: "pdf" }); - expect(result).toHaveProperty("error"); - if (!("error" in result)) return; - expect(result.error).toContain("Invalid format"); - }); + it("rejects invalid format", () => { + const result = validateArgs({ url: "http://x", format: "pdf" }); + expect(result).toHaveProperty("error"); + if (!("error" in result)) return; + expect(result.error).toContain("Invalid format"); + }); - it("returns error for null/non-object args", () => { - expect(validateArgs(null)).toHaveProperty("error"); - expect(validateArgs(undefined)).toHaveProperty("error"); - expect(validateArgs("string")).toHaveProperty("error"); - expect(validateArgs(42)).toHaveProperty("error"); - }); + it("returns error for null/non-object args", () => { + expect(validateArgs(null)).toHaveProperty("error"); + expect(validateArgs(undefined)).toHaveProperty("error"); + expect(validateArgs("string")).toHaveProperty("error"); + expect(validateArgs(42)).toHaveProperty("error"); + }); }); |
