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: () =>