import { render, screen, waitFor } from '@testing-library/react' import { describe, it, expect, vi, beforeEach } from 'vitest' import { DataProvider } from '../DataProvider' import { RouterProvider, createRouter, createRootRoute, createMemoryHistory } from '@tanstack/react-router' // Mock Tauri deep link vi.mock('@tauri-apps/plugin-deep-link', () => ({ onOpenUrl: vi.fn(), getCurrent: vi.fn().mockResolvedValue([]), })) // The services are handled by the global ServiceHub mock in test setup // Mock hooks vi.mock('@/hooks/useThreads', () => ({ useThreads: vi.fn(() => ({ setThreads: vi.fn(), })), })) vi.mock('@/hooks/useModelProvider', () => ({ useModelProvider: vi.fn(() => ({ setProviders: vi.fn(), })), })) vi.mock('@/hooks/useAssistant', () => ({ useAssistant: vi.fn(() => ({ setAssistants: vi.fn(), })), })) vi.mock('@/hooks/useMessages', () => ({ useMessages: vi.fn(() => ({ setMessages: vi.fn(), })), })) vi.mock('@/hooks/useAppUpdater', () => ({ useAppUpdater: vi.fn(() => ({ checkForUpdate: vi.fn(), })), })) vi.mock('@/hooks/useMCPServers', () => ({ useMCPServers: vi.fn(() => ({ setServers: vi.fn(), })), })) // Mock the DataProvider to render children properly vi.mock('../DataProvider', () => ({ DataProvider: ({ children }: { children: React.ReactNode }) => (