diff --git a/apps/web/src/test/pages/editing-planner/components/TtsPanel.test.tsx b/apps/web/src/test/pages/editing-planner/components/TtsPanel.test.tsx index c6989db77..5d0f8a28e 100644 --- a/apps/web/src/test/pages/editing-planner/components/TtsPanel.test.tsx +++ b/apps/web/src/test/pages/editing-planner/components/TtsPanel.test.tsx @@ -1,5 +1,5 @@ import { afterEach, describe, expect, it, vi } from "vitest" -import { render, cleanup } from "@testing-library/react" +import { render, cleanup, act } from "@testing-library/react" import TtsPanel from "@/pages/editing-planner/components/TtsPanel" import { DEFAULT_TTS_CONFIG } from "@/pages/editing-planner/types" @@ -16,17 +16,28 @@ const defaultProps = { } describe("TtsPanel", () => { - afterEach(() => { + afterEach(async () => { + // Flush pending React updates before cleanup to avoid + // "window is not defined" errors after jsdom teardown + await act(async () => {}) cleanup() }) - it("should render without crashing", () => { - const { container } = render() - expect(container).toBeTruthy() + it("should render without crashing", async () => { + let container: HTMLElement + await act(async () => { + const result = render() + container = result.container + }) + expect(container!).toBeTruthy() }) - it("should render when closed", () => { - const { container } = render() - expect(container).toBeTruthy() + it("should render when closed", async () => { + let container: HTMLElement + await act(async () => { + const result = render() + container = result.container + }) + expect(container!).toBeTruthy() }) })