import { browsePackage, getPackageDetail, getPackageMetaData, getPackageURL, getPinnedURL, searchPackage, searchPackageAutoComplete, } from "../src/index"; import type { SearchResponse } from "../src/models/SearchResponse"; import { expect } from "chai"; describe("Detail API 测试", () => { it("搜索 Package", async () => { return searchPackage("react", 1, 25, "react").then((res) => { const keys: (keyof SearchResponse)[] = [ "communityContent", "meta", "results", ]; expect(Object.keys(res)).to.members(keys); expect(res.results.length).to.eq(25); }); }); it("自动补全搜索关键词", async () => { return searchPackageAutoComplete("rea").then((res) => { expect(res.results.length).not.to.eq(0); }); }); it("获取 Package 详细信息", async () => { return getPackageDetail("react").then((res) => { console.log(res.buildStatus); expect(res.buildStatus).to.eq("SUCCESS"); }); }); it("获取 Package 的统计信息", async () => { return browsePackage("react", "16.0.0").then((res) => { expect(res.files[0].sizeKB).not.to.eq(0); }); }); }); describe("File API 测试", () => { it("获取 URL 链接测试", async () => { const result = getPackageURL("react", "README.md", { min: true, }); expect(result).to.equal("https://cdn.skypack.dev/react/README.md?min="); }); it("获取 MetaData", async () => { const result = await getPackageMetaData("react"); expect(result.name).to.equal("react"); expect(result.packageExports).not.to.empty; }); it("获取 pinned URL ", async () => { const result = await getPinnedURL("react"); expect(result).to.not.empty; }); });