import { describe, expect, it } from "vitest"; import { DEFAULT_MODEL } from "../model-logic";import { createLocalThreadForProject } from "./Sidebar.logic"; describe("createLocalThreadForProject", () => { it("creates a local thread with the project's configured model", () => { const thread = createLocalThreadForProject({ projectId: "project-1", projects: [ { id: "project-1", name: "Project", cwd: "/tmp/project", model: "custom-project-model", expanded: true, scripts: [], }, ], options: { branch: "feature/test", worktreePath: "/tmp/project/worktrees/feature-test", }, }); expect(thread.projectId).toBe("project-1"); expect(thread.model).toBe("custom-project-model"); expect(thread.branch).toBe("feature/test"); expect(thread.worktreePath).toBe("/tmp/project/worktrees/feature-test"); }); it("falls back to the default model when the project is missing", () => { const thread = createLocalThreadForProject({ projectId: "missing-project", projects: [], }); expect(thread.projectId).toBe("missing-project"); expect(thread.model).toBe(DEFAULT_MODEL); expect(thread.branch).toBeNull(); expect(thread.worktreePath).toBeNull(); });});
import { describe, expect, it } from "vitest";
import { DEFAULT_MODEL } from "../model-logic";
import { createLocalThreadForProject } from "./Sidebar.logic";
describe("createLocalThreadForProject", () => {
it("creates a local thread with the project's configured model", () => {
const thread = createLocalThreadForProject({
projectId: "project-1",
projects: [
{
id: "project-1",
name: "Project",
cwd: "/tmp/project",
model: "custom-project-model",
expanded: true,
scripts: [],
},
],
options: {
branch: "feature/test",
worktreePath: "/tmp/project/worktrees/feature-test",
},
});
expect(thread.projectId).toBe("project-1");
expect(thread.model).toBe("custom-project-model");
expect(thread.branch).toBe("feature/test");
expect(thread.worktreePath).toBe("/tmp/project/worktrees/feature-test");
});
it("falls back to the default model when the project is missing", () => {
const thread = createLocalThreadForProject({
projectId: "missing-project",
projects: [],
});
expect(thread.projectId).toBe("missing-project");
expect(thread.model).toBe(DEFAULT_MODEL);
expect(thread.branch).toBeNull();
expect(thread.worktreePath).toBeNull();
});
});