From 43c4abaf8df8d50dc30f65429a6e8d717b3bfc08 Mon Sep 17 00:00:00 2001 From: Dotta Date: Sat, 16 May 2026 09:27:04 -0500 Subject: [PATCH] Cover plugin workspace heading state Co-Authored-By: Paperclip --- ui/src/pages/ProjectWorkspaceDetail.test.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ui/src/pages/ProjectWorkspaceDetail.test.tsx b/ui/src/pages/ProjectWorkspaceDetail.test.tsx index 4815832dfeb..616fe863ceb 100644 --- a/ui/src/pages/ProjectWorkspaceDetail.test.tsx +++ b/ui/src/pages/ProjectWorkspaceDetail.test.tsx @@ -250,6 +250,20 @@ describe("ProjectWorkspaceDetail plugin tabs", () => { ); }); + it("keeps the project workspace heading visible on plugin tabs", async () => { + mockPluginSlotState.slots = [pluginSlot({ displayName: "Changes" })]; + mockRouteSearch.value = "?tab=plugin%3Apaperclip.quality%3Aquality-tab"; + + await render(); + + expect(container.querySelector("h1")?.textContent).toBe("Primary checkout"); + expect(container.textContent).toContain("Project workspace"); + expect(container.textContent).toContain("This is the project’s primary codebase workspace."); + expect(container.querySelector('[data-testid="plugin-slot-mount"]')).not.toBeNull(); + expect(container.textContent).not.toContain("Configure the concrete workspace"); + expect(container.textContent).not.toContain("Workspace name"); + }); + it("orders project workspace plugin tabs against built-in tabs by slot order", async () => { mockPluginSlotState.slots = [ pluginSlot({ id: "late-tab", displayName: "Late", order: 40 }),