test(team-mode): reset worktree git runner
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user