From a771e1939ce099d90c258ef3c3fae0730d959641 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Fri, 10 Apr 2026 00:10:40 -0700 Subject: [PATCH] Fix unhandled "window is not defined" error in user_edit_view tests Tremor's internal Tooltip component sets a setTimeout that fires after the jsdom test environment tears down, causing a ReferenceError. Add afterEach that flushes pending timers before cleanup. --- .../src/components/user_edit_view.test.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ui/litellm-dashboard/src/components/user_edit_view.test.tsx b/ui/litellm-dashboard/src/components/user_edit_view.test.tsx index 7f78ef4512..7aeaae94fa 100644 --- a/ui/litellm-dashboard/src/components/user_edit_view.test.tsx +++ b/ui/litellm-dashboard/src/components/user_edit_view.test.tsx @@ -1,6 +1,6 @@ -import { screen, waitFor } from "@testing-library/react"; +import { cleanup, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { renderWithProviders } from "../../tests/test-utils"; import { UserEditView } from "./user_edit_view"; @@ -140,6 +140,15 @@ describe("UserEditView", () => { vi.clearAllMocks(); }); + afterEach(() => { + // Tremor's internal Tooltip sets a setTimeout that fires after teardown, + // causing "window is not defined". Flush pending timers before cleanup. + vi.useFakeTimers(); + vi.runAllTimers(); + vi.useRealTimers(); + cleanup(); + }); + it("should render", async () => { renderWithProviders();