mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 05:43:55 +00:00
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { afterEach, describe, expect, test } from "bun:test"
|
|
import { Installation } from "../../src/installation"
|
|
|
|
const fetch0 = globalThis.fetch
|
|
|
|
afterEach(() => {
|
|
globalThis.fetch = fetch0
|
|
})
|
|
|
|
describe("installation", () => {
|
|
test("reads release version from GitHub releases", async () => {
|
|
globalThis.fetch = (async () =>
|
|
new Response(JSON.stringify({ tag_name: "v1.2.3" }), {
|
|
status: 200,
|
|
headers: { "content-type": "application/json" },
|
|
})) as unknown as typeof fetch
|
|
|
|
expect(await Installation.latest("unknown")).toBe("1.2.3")
|
|
})
|
|
|
|
test("reads scoop manifest versions", async () => {
|
|
globalThis.fetch = (async () =>
|
|
new Response(JSON.stringify({ version: "2.3.4" }), {
|
|
status: 200,
|
|
headers: { "content-type": "application/json" },
|
|
})) as unknown as typeof fetch
|
|
|
|
expect(await Installation.latest("scoop")).toBe("2.3.4")
|
|
})
|
|
|
|
test("reads chocolatey feed versions", async () => {
|
|
globalThis.fetch = (async () =>
|
|
new Response(
|
|
JSON.stringify({
|
|
d: {
|
|
results: [{ Version: "3.4.5" }],
|
|
},
|
|
}),
|
|
{
|
|
status: 200,
|
|
headers: { "content-type": "application/json" },
|
|
},
|
|
)) as unknown as typeof fetch
|
|
|
|
expect(await Installation.latest("choco")).toBe("3.4.5")
|
|
})
|
|
})
|