diff --git a/ui/src/components/RoutineSaveBar.test.tsx b/ui/src/components/RoutineSaveBar.test.tsx index 7c387aaa3d5..a5dd6ad2aa3 100644 --- a/ui/src/components/RoutineSaveBar.test.tsx +++ b/ui/src/components/RoutineSaveBar.test.tsx @@ -1,11 +1,16 @@ // @vitest-environment jsdom -import { act } from "react"; +import type React from "react"; +import { flushSync } from "react-dom"; import { createRoot } from "react-dom/client"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { RoutineSaveBar } from "./RoutineSaveBar"; import type { RoutineHistoryDirtyFieldDescriptor } from "./RoutineHistoryTab"; +function act(callback: () => void) { + flushSync(callback); +} + let container: HTMLDivElement; let root: ReturnType; diff --git a/ui/src/components/RoutineSubSidebar.test.tsx b/ui/src/components/RoutineSubSidebar.test.tsx index f0b029b7988..2a028c88aae 100644 --- a/ui/src/components/RoutineSubSidebar.test.tsx +++ b/ui/src/components/RoutineSubSidebar.test.tsx @@ -1,6 +1,7 @@ // @vitest-environment jsdom -import { act, type AnchorHTMLAttributes, type ReactNode } from "react"; +import type { AnchorHTMLAttributes, ReactNode } from "react"; +import { flushSync } from "react-dom"; import { createRoot } from "react-dom/client"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; @@ -22,6 +23,10 @@ vi.mock("@/lib/router", () => ({ import { RoutineSubSidebar } from "./RoutineSubSidebar"; import type { RoutineSectionKey } from "./routine-sections/context"; +function act(callback: () => void) { + flushSync(callback); +} + let container: HTMLDivElement; let root: ReturnType; diff --git a/ui/src/pages/Routines.test.tsx b/ui/src/pages/Routines.test.tsx index 993f0c67044..f3f795a06c5 100644 --- a/ui/src/pages/Routines.test.tsx +++ b/ui/src/pages/Routines.test.tsx @@ -1,6 +1,7 @@ // @vitest-environment jsdom -import { act, type AnchorHTMLAttributes, type ReactNode } from "react"; +import type { AnchorHTMLAttributes, ReactNode } from "react"; +import { flushSync } from "react-dom"; import { createRoot } from "react-dom/client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import type { Issue, RoutineListItem } from "@paperclipai/shared"; @@ -9,6 +10,14 @@ import { Routines, buildRoutineGroups, sortRoutines } from "./Routines"; let currentSearch = ""; +async function act(callback: () => void | Promise) { + let result: void | Promise = undefined; + flushSync(() => { + result = callback(); + }); + await result; +} + const navigateMock = vi.fn(); const routinesListMock = vi.fn<(companyId: string) => Promise>(); const issuesListMock = vi.fn<(companyId: string, filters?: Record) => Promise>();