From 0adf5d5a5fbdb9edeaa07d5b653234243b6373bb Mon Sep 17 00:00:00 2001 From: Molecule AI Frontend Engineer Date: Fri, 17 Apr 2026 06:22:07 +0000 Subject: [PATCH] fix(canvas): mock WorkspaceUsage in BudgetLimit.DetailsTab test DetailsTab renders WorkspaceUsage alongside BudgetSection. The test suite sets api.get to return [] (a valid empty peers list) but WorkspaceUsage calls api.get for metrics and crashes on undefined input_tokens when the mock returns an array instead of a WorkspaceMetrics object. Add a stub vi.mock following the same pattern already used for BudgetSection. Co-Authored-By: Claude Sonnet 4.6 --- .../components/__tests__/BudgetLimit.DetailsTab.test.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/canvas/src/components/__tests__/BudgetLimit.DetailsTab.test.tsx b/canvas/src/components/__tests__/BudgetLimit.DetailsTab.test.tsx index a9515374..6709a996 100644 --- a/canvas/src/components/__tests__/BudgetLimit.DetailsTab.test.tsx +++ b/canvas/src/components/__tests__/BudgetLimit.DetailsTab.test.tsx @@ -44,6 +44,15 @@ vi.mock("../tabs/BudgetSection", () => ({ ), })); +// Mock WorkspaceUsage — it has its own test suite (WorkspaceUsage.test.tsx). +// Without this mock its internal api.get call races against the shared mock +// and crashes when the return value is not a valid WorkspaceMetrics object. +vi.mock("../WorkspaceUsage", () => ({ + WorkspaceUsage: ({ workspaceId }: { workspaceId: string }) => ( +
+ ), +})); + import { api } from "@/lib/api"; import { DetailsTab } from "../tabs/DetailsTab";