import { test } from "../support/fixtures"; import { expectWorkspaceTabVisible } from "../support/helpers/archive-tab"; import { expectAgentTabActive } from "../support/helpers/launcher"; import { openAgentRoute } from "../support/helpers/mock-agent"; import { seedWorkspace, type SeededWorkspace } from "../support/helpers/seed-client"; import { detachSubagentFromTrack, expectSubagentRowGone, expectSubagentRowVisible, openSubagentsTrack, seedParentWithSubagent, } from "../support/helpers/subagents"; test.describe("Subagent detach", () => { let workspace: SeededWorkspace; test.beforeAll(async () => { workspace = await seedWorkspace({ repoPrefix: "subagent-detach-" }); }); test.afterAll(async () => { await workspace?.cleanup(); }); test("detaching a subagent focuses it as a workspace tab", async ({ page }) => { const agents = await seedParentWithSubagent(workspace, { parentTitle: "Detach parent", childTitle: "Detached child", }); await openAgentRoute(page, { workspaceId: agents.workspaceId, agentId: agents.parent.id, }); await openSubagentsTrack(page); await expectSubagentRowVisible(page, agents.child.id); await detachSubagentFromTrack(page, agents.child.id); await expectSubagentRowGone(page, agents.child.id); await expectWorkspaceTabVisible(page, agents.child.id); await expectAgentTabActive(page, agents.child.id); }); });