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()
})
})