diff --git a/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.test.tsx b/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.test.tsx index 167984b..2df0754 100644 --- a/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.test.tsx +++ b/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.test.tsx @@ -234,6 +234,20 @@ describe("WorkspaceClient — 切 tab 時 camera 串流 / WS 正確關閉(S-1 expect(lastCameraWsEnabled()).toBe(false); }); + it("開始推論按鈕只在 camera tab 顯示,切到 image/video/batch 隱藏", async () => { + renderClient(); + // camera tab(預設):按鈕在 + expect(screen.getByText("開始推論")).toBeInTheDocument(); + + // 切到影片:按鈕隱藏(上傳即自動推論,不需此按鈕) + await switchTab("影片"); + expect(screen.queryByText("開始推論")).not.toBeInTheDocument(); + + // 切回 camera:按鈕重新出現 + await switchTab("Camera"); + expect(screen.getByText("開始推論")).toBeInTheDocument(); + }); + it("切到 image tab 後 camera WS 保持 false(媒體 tab 有自己的 WS,兩者互斥)", async () => { post.mockResolvedValue({ streamUrl: "/api/camera/stream", sourceType: "camera" }); renderClient(); diff --git a/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.tsx b/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.tsx index 535460b..9bab408 100644 --- a/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.tsx +++ b/visionA-frontend/src/app/workspace/[deviceId]/workspace-client.tsx @@ -276,18 +276,23 @@ export function WorkspaceClient({ deviceId }: WorkspaceClientProps) { /> )} -