import React from "react" import { render, screen, fireEvent } from "@testing-library/react" import SettingsView from "../SettingsView" import { ExtensionStateContextProvider } from "../../../context/ExtensionStateContext" import { vscode } from "../../../utils/vscode" // Mock vscode API jest.mock("../../../utils/vscode", () => ({ vscode: { postMessage: jest.fn(), }, })) // Mock ApiConfigManager component jest.mock("../ApiConfigManager", () => ({ __esModule: true, default: ({ currentApiConfigName, listApiConfigMeta, onSelectConfig, onDeleteConfig, onRenameConfig, onUpsertConfig, }: any) => (
Current config: {currentApiConfigName}
), })) // Mock VSCode components jest.mock("@vscode/webview-ui-toolkit/react", () => ({ VSCodeButton: ({ children, onClick, appearance }: any) => appearance === "icon" ? ( ) : ( ), VSCodeCheckbox: ({ children, onChange, checked }: any) => ( ), VSCodeTextField: ({ value, onInput, placeholder }: any) => ( onInput({ target: { value: e.target.value } })} placeholder={placeholder} /> ), VSCodeTextArea: () =>