test: lock in process, ripgrep, and installation helpers
This commit is contained in:
parent
9dc8ac4734
commit
e6d1aae33a
3 changed files with 97 additions and 0 deletions
47
packages/opencode/test/installation/installation.test.ts
Normal file
47
packages/opencode/test/installation/installation.test.ts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
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")
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue