/** * @vitest-environment jsdom */ import React, { act } from "react"; import { createRoot, type Root } from "react-dom/client"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; vi.mock("react-native", () => ({ Platform: { OS: "web", select: (options: { web?: unknown; default?: unknown }) => options.web ?? options.default, }, View: ({ children, testID }: { children?: React.ReactNode; testID?: string }) => (
{children}
), })); vi.mock("react-native-unistyles", () => ({ StyleSheet: { create: (factory: unknown) => typeof factory === "function" ? (factory as (theme: Record) => unknown)({ spacing: { 1: 4, 2: 8, 3: 12, 4: 16, 6: 24 }, colors: { foregroundMuted: "#aaa", palette: { amber: { 500: "#f0b429", 700: "#b7791f" } }, }, }) : factory, }, useUnistyles: () => ({ rt: { breakpoint: "md" } }), withUnistyles: (component: T) => component, })); vi.mock("@/components/message", () => ({ AssistantTurnFooter: () => null, LiveElapsed: () => , STREAM_METADATA_FONT_SIZE: 11, })); vi.mock("@/components/assistant-fork-menu", () => ({ AssistantForkMenu: () =>