feat(tui): show project copy in session list (#31421)
This commit is contained in:
parent
6566ede935
commit
ffcb45d7c9
8 changed files with 59 additions and 37 deletions
|
|
@ -34,6 +34,8 @@ function json<T>(response: HttpClientResponse.HttpClientResponse) {
|
|||
}
|
||||
|
||||
describe("project directories and copies endpoints", () => {
|
||||
type ProjectDirectory = { directory: string; type: "main" | "root" | "git_worktree" }
|
||||
|
||||
it.instance(
|
||||
"lists directories and manages git worktree copies",
|
||||
() =>
|
||||
|
|
@ -51,7 +53,7 @@ describe("project directories and copies endpoints", () => {
|
|||
|
||||
const initial = yield* request(test.directory, `${base}/directories`)
|
||||
expect(initial.status).toBe(200)
|
||||
expect(yield* json<string[]>(initial)).toEqual([test.directory])
|
||||
expect(yield* json<ProjectDirectory[]>(initial)).toEqual([{ directory: test.directory, type: "main" }])
|
||||
|
||||
const create = yield* request(test.directory, copies, {
|
||||
method: "POST",
|
||||
|
|
@ -63,7 +65,10 @@ describe("project directories and copies endpoints", () => {
|
|||
expect(created.directory).toBe(createdDirectory)
|
||||
|
||||
const listed = yield* request(test.directory, `${base}/directories`)
|
||||
expect(yield* json<string[]>(listed)).toContain(created.directory)
|
||||
expect(yield* json<ProjectDirectory[]>(listed)).toContainEqual({
|
||||
directory: created.directory,
|
||||
type: "git_worktree",
|
||||
})
|
||||
|
||||
yield* Effect.promise(() => Bun.write(path.join(created.directory, "dirty.txt"), "dirty"))
|
||||
|
||||
|
|
@ -94,7 +99,10 @@ describe("project directories and copies endpoints", () => {
|
|||
})
|
||||
expect(refresh.status).toBe(204)
|
||||
const refreshed = yield* request(test.directory, `${base}/directories`)
|
||||
expect((yield* json<string[]>(refreshed)).length).toBe(2)
|
||||
expect(yield* json<ProjectDirectory[]>(refreshed)).toEqual([
|
||||
{ directory: externalDirectory, type: "git_worktree" },
|
||||
{ directory: test.directory, type: "main" },
|
||||
])
|
||||
}),
|
||||
{ git: true },
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue