import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { QueryClientProvider } from "@tanstack/react-query"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { http, HttpResponse } from "msw"; import { toast } from "sonner"; import type { Provider } from "@/types"; import type { ModeAppId } from "@/config/appConfig"; import type { AppMode } from "@/types/proxy"; import { SwitchModePanel } from "@/components/providers/mode/SwitchModePanel"; import { server } from "../msw/server"; import { createTestQueryClient } from "../utils/testQueryClient"; vi.mock("sonner", () => ({ toast: { success: vi.fn(), info: vi.fn(), warning: vi.fn(), error: vi.fn(), }, })); // 只关心模式层:卡片画成按钮,按 presentation 的 key 找;「更多」菜单里的项加 menu- 前缀 vi.mock("@/components/providers/ProviderCard", () => ({ ProviderCard: ({ provider, presentation }: any) => (