test(team-mode): reset worktree git runner

This commit is contained in:
YeonGyu-Kim
2026-05-30 20:25:13 +09:00
parent 92c2803826
commit eff83ab5f1
2 changed files with 16 additions and 9 deletions
@@ -1,12 +1,18 @@
/// <reference types="bun-types" />
import { afterAll, beforeAll, describe, expect, mock, test } from "bun:test"
import { afterAll, afterEach, beforeAll, describe, expect, mock, test } from "bun:test"
import { randomUUID } from "node:crypto"
import fs from "node:fs/promises"
import { tmpdir } from "node:os"
import path from "node:path"
import { GitUnavailableError, createWorktree, setGitCommandRunnerForTests, validateWorktreeSpec } from "./manager"
import {
GitUnavailableError,
createWorktree,
resetGitCommandRunnerForTests,
setGitCommandRunnerForTests,
validateWorktreeSpec,
} from "./manager"
import { removeWorktree } from "./cleanup"
const temporaryDirectories: string[] = []
@@ -34,6 +40,10 @@ afterAll(async () => {
mock.restore()
})
afterEach(() => {
resetGitCommandRunnerForTests()
})
describe("team-worktree manager", () => {
test("given tmp git repo when createWorktree then registers detached worktree", async () => {
// given
@@ -81,13 +91,6 @@ describe("team-worktree manager", () => {
// then
await expect(create).rejects.toBeInstanceOf(GitUnavailableError)
setGitCommandRunnerForTests(async (args) => {
if (args[0] === "--version") {
return { code: 0, stderr: "" }
}
return { code: 0, stderr: "" }
})
})
test("given created worktree when removeWorktree then directory disappears", async () => {
@@ -28,6 +28,10 @@ export function setGitCommandRunnerForTests(runner: typeof runGit): void {
gitCommandRunner = runner
}
export function resetGitCommandRunnerForTests(): void {
gitCommandRunner = runGit
}
export async function isGitAvailable(): Promise<boolean> {
const result = await gitCommandRunner(["--version"])
return result.code === 0