import { fireEvent, render, screen, waitFor, within, } from "@testing-library/react"; import { QueryClientProvider } from "@tanstack/react-query"; import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { AddProviderDialog } from "@/components/providers/AddProviderDialog"; import { kimiOAuthApi, type KimiOAuthStatus } from "@/lib/api/kimiOAuth"; import { createTestQueryClient } from "../utils/testQueryClient"; vi.mock("@/lib/api/kimiOAuth", () => ({ kimiOAuthApi: { status: vi.fn(), start: vi.fn(), poll: vi.fn(), cancel: vi.fn(), remove: vi.fn(), quota: vi.fn(), useAccount: vi.fn(), }, })); vi.mock("@/components/providers/forms/CopilotAuthSection", () => ({ CopilotAuthSection: () => null, })); vi.mock("@/components/providers/forms/CodexOAuthSection", () => ({ CodexOAuthSection: () => null, })); vi.mock("@/components/providers/forms/XaiOAuthSection", () => ({ XaiOAuthSection: () => null, })); vi.mock("@/components/providers/forms/AgyOAuthSection", () => ({ AgyOAuthSection: () => null, })); vi.mock("@/components/JsonEditor", () => ({ default: ({ id, value, onChange, }: { id: string; value: string; onChange: (text: string) => void; }) => (