diff --git a/web/app/components/tools/mcp/create-card.spec.tsx b/web/app/components/tools/mcp/create-card.spec.tsx new file mode 100644 index 0000000000..9ddee00460 --- /dev/null +++ b/web/app/components/tools/mcp/create-card.spec.tsx @@ -0,0 +1,221 @@ +import type { ReactNode } from 'react' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { fireEvent, render, screen, waitFor } from '@testing-library/react' +import * as React from 'react' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import NewMCPCard from './create-card' + +// Track the mock functions +const mockCreateMCP = vi.fn().mockResolvedValue({ id: 'new-mcp-id', name: 'New MCP' }) + +// Mock the service +vi.mock('@/service/use-tools', () => ({ + useCreateMCP: () => ({ + mutateAsync: mockCreateMCP, + }), +})) + +// Mock the MCP Modal +type MockMCPModalProps = { + show: boolean + onConfirm: (info: { name: string, server_url: string }) => void + onHide: () => void +} + +vi.mock('./modal', () => ({ + default: ({ show, onConfirm, onHide }: MockMCPModalProps) => { + if (!show) + return null + return ( +