/* Copyright 2026 Marimo. All rights reserved. */ // @vitest-environment jsdom import { act, fireEvent, render, screen, waitFor, within, } from "@testing-library/react"; import { Provider } from "jotai"; import { beforeEach, expect, it, vi } from "vitest"; import { MockRequestClient } from "@/__mocks__/requests"; import { AppConfigSchema } from "@/core/config/config-schema"; import { ConnectionNotice } from "@/components/editor/alerts/connection-notice"; import { TooltipProvider } from "@/components/ui/tooltip"; import { kernelStartupErrorAtom } from "@/core/errors/state"; import { connectionAtom } from "@/core/network/connection"; import { requestClientAtom } from "@/core/network/requests"; import { sandboxActionsAtom, sandboxAtom, sandboxSyncAtom, } from "@/core/packages/sandbox-state"; import { filenameAtom } from "@/core/saving/file-state"; import { store } from "@/core/state/jotai"; import { WebSocketClosedReason, ConnectionState } from "@/core/websocket/types"; import { chromeAtom } from "../../state"; import PackagesPanel from "../packages-panel"; import { PanelSectionProvider } from "../panel-context"; import { SandboxController } from "../sandbox-controller"; vi.mock("@/plugins/impl/code/LazyAnyLanguageCodeMirror", () => ({ LazyAnyLanguageCodeMirror: ({ value, onChange, editable, }: { value: string; onChange: (value: string) => void; editable: boolean; }) => (