diff --git a/src/extensionConsole/pages/BrowserBanner.test.tsx b/src/extensionConsole/pages/BrowserBanner.test.tsx index 4525e9ce47..6a342c59ce 100644 --- a/src/extensionConsole/pages/BrowserBanner.test.tsx +++ b/src/extensionConsole/pages/BrowserBanner.test.tsx @@ -21,9 +21,11 @@ import BrowserBanner from "@/extensionConsole/pages/BrowserBanner"; import { waitForEffect } from "@/testUtils/testHelpers"; import { screen } from "@testing-library/react"; import { INTERNAL_reset } from "@/store/enterprise/managedStorage"; +import { INTERNAL_reset as resetAsyncExternalStore } from "@/hooks/useAsyncExternalStore"; beforeEach(async () => { await INTERNAL_reset(); + resetAsyncExternalStore(); await browser.storage.managed.clear(); }); diff --git a/src/hooks/useTheme.test.ts b/src/hooks/useTheme.test.ts index 9337407fa4..0d8b4659ef 100644 --- a/src/hooks/useTheme.test.ts +++ b/src/hooks/useTheme.test.ts @@ -20,10 +20,8 @@ import { renderHook } from "@/pageEditor/testHelpers"; import { initialTheme } from "@/themes/themeStore"; import { type ThemeAssets, themeStorage } from "@/themes/themeUtils"; import { activateTheme } from "@/background/messenger/api"; -import { - INTERNAL_reset, - readManagedStorage, -} from "@/store/enterprise/managedStorage"; +import { readManagedStorage } from "@/store/enterprise/managedStorage"; +import { INTERNAL_reset as resetAsyncExternalStore } from "@/hooks/useAsyncExternalStore"; jest.mock("@/themes/themeUtils", () => ({ ...jest.requireActual("@/themes/themeUtils"), @@ -58,8 +56,7 @@ const customTheme: ThemeAssets = { describe("useTheme", () => { beforeEach(async () => { - await INTERNAL_reset(); - await browser.storage.managed.clear(); + resetAsyncExternalStore(); jest.mocked(themeStorage.get).mockResolvedValue({ ...initialTheme, @@ -96,13 +93,16 @@ describe("useTheme", () => { it("calls activateTheme after loading is done and it hasn't been called recently", async () => { jest.useFakeTimers(); - renderHook(() => useTheme()); + let result = renderHook(() => useTheme()); + await result.waitForNextUpdate(); expect(activateTheme).not.toHaveBeenCalled(); jest.advanceTimersByTime(125_000); + resetAsyncExternalStore(); - renderHook(() => useTheme()); + result = renderHook(() => useTheme()); + await result.waitForNextUpdate(); expect(activateTheme).toHaveBeenCalledOnce(); }); @@ -157,7 +157,9 @@ describe("useTheme", () => { .mocked(readManagedStorage) .mockRejectedValue(new Error("Managed storage error")); - const { result } = renderHook(() => useTheme()); + const { result, waitForNextUpdate } = renderHook(() => useTheme()); + + await waitForNextUpdate(); expect(result.current.activeTheme.showSidebarLogo).toBe(showSidebarLogo); },