import { beforeEach, describe, expect, it, vi } from 'vitest'; import { render, screen, userEvent } from '@tests/setup/test-utils'; const hookState = vi.hoisted(() => ({ catalogData: undefined as | { catalogs: Record< string, { provider: string; displayName: string; defaultModel: string; models: Array<{ id: string; name: string }>; } >; } | undefined, })); vi.mock('@/hooks/use-cliproxy', () => ({ useCliproxy: () => ({ data: { variants: [] }, isFetching: false, }), useCliproxyAuth: () => ({ data: { authStatus: [ { provider: 'gemini', displayName: 'Gemini', authenticated: true, accounts: [{ id: 'acct-1', provider: 'gemini' }], }, ], source: 'local', }, isLoading: false, }), useCliproxyCatalog: () => ({ data: hookState.catalogData, }), useCliproxyUpdateCheck: () => ({ data: undefined, }), useSetDefaultAccount: () => ({ mutate: vi.fn(), isPending: false }), useRemoveAccount: () => ({ mutate: vi.fn(), isPending: false }), usePauseAccount: () => ({ mutate: vi.fn(), isPending: false }), useResumeAccount: () => ({ mutate: vi.fn(), isPending: false }), useSoloAccount: () => ({ mutate: vi.fn(), isPending: false }), useBulkPauseAccounts: () => ({ mutate: vi.fn(), isPending: false }), useBulkResumeAccounts: () => ({ mutate: vi.fn(), isPending: false }), useDeleteVariant: () => ({ mutate: vi.fn(), isPending: false }), })); vi.mock('@/components/quick-setup-wizard', () => ({ QuickSetupWizard: () => null, })); vi.mock('@/components/monitoring/proxy-status-widget', () => ({ ProxyStatusWidget: () => null, })); vi.mock('@/components/account/account-safety-warning-card', () => ({ AccountSafetyWarningCard: () => null, })); vi.mock('@/components/cliproxy/provider-logo', () => ({ ProviderLogo: () =>