fix: add fetch mock to install test to prevent CI timeout
The first test case 'non-TUI mode: should show warning but continue when OpenCode binary not found' was missing a globalThis.fetch mock, causing it to make a real HTTP request to npm registry via fetchNpmDistTags(). The npm fetch timeout (5s) collided with the test timeout (5s), causing flaky CI failures. Added the same fetch mock pattern already used by the other two test cases. Test runtime dropped from 5000ms+ to ~2ms.
This commit is contained in:
@@ -53,6 +53,14 @@ describe("install CLI - binary check behavior", () => {
|
||||
isOpenCodeInstalledSpy = spyOn(configManager, "isOpenCodeInstalled").mockResolvedValue(false)
|
||||
getOpenCodeVersionSpy = spyOn(configManager, "getOpenCodeVersion").mockResolvedValue(null)
|
||||
|
||||
// given mock npm fetch
|
||||
globalThis.fetch = mock(() =>
|
||||
Promise.resolve({
|
||||
ok: true,
|
||||
json: () => Promise.resolve({ latest: "3.0.0" }),
|
||||
} as Response)
|
||||
) as unknown as typeof fetch
|
||||
|
||||
const args: InstallArgs = {
|
||||
tui: false,
|
||||
claude: "yes",
|
||||
|
||||
Reference in New Issue
Block a user