import React from "react"; import { vi } from "vitest"; import { render, type RenderOptions } from "@testing-library/react"; import type { User, Workspace, MemberWithUser, Agent } from "@multica/types"; // Mock user export const mockUser: User = { id: "user-1", name: "Test User", email: "test@multica.ai", avatar_url: null, created_at: "2026-01-01T00:00:00Z", updated_at: "2026-01-01T00:00:00Z", }; // Mock workspace export const mockWorkspace: Workspace = { id: "ws-1", name: "Test Workspace", slug: "test-ws", description: "A test workspace", settings: {}, created_at: "2026-01-01T00:00:00Z", updated_at: "2026-01-01T00:00:00Z", }; // Mock members export const mockMembers: MemberWithUser[] = [ { id: "member-1", workspace_id: "ws-1", user_id: "user-1", role: "owner", created_at: "2026-01-01T00:00:00Z", name: "Test User", email: "test@multica.ai", avatar_url: null, }, ]; // Mock agents export const mockAgents: Agent[] = [ { id: "agent-1", workspace_id: "ws-1", name: "Claude Agent", avatar_url: null, status: "idle", runtime_mode: "cloud", runtime_config: {}, visibility: "workspace", max_concurrent_tasks: 3, owner_id: null, created_at: "2026-01-01T00:00:00Z", updated_at: "2026-01-01T00:00:00Z", }, ]; // Mock auth context value // eslint-disable-next-line @typescript-eslint/no-explicit-any export const mockAuthValue: Record = { user: mockUser, workspace: mockWorkspace, members: mockMembers, agents: mockAgents, isLoading: false, login: vi.fn(), logout: vi.fn(), workspaces: [mockWorkspace], switchWorkspace: vi.fn(), createWorkspace: vi.fn(), updateWorkspace: vi.fn(), updateCurrentUser: vi.fn(), leaveWorkspace: vi.fn(), deleteWorkspace: vi.fn(), refreshWorkspaces: vi.fn(), refreshMembers: vi.fn(), refreshAgents: vi.fn(), getMemberName: (userId: string) => { const m = mockMembers.find((m) => m.user_id === userId); return m?.name ?? "Unknown"; }, getAgentName: (agentId: string) => { const a = mockAgents.find((a) => a.id === agentId); return a?.name ?? "Unknown Agent"; }, getActorName: (type: string, id: string) => { if (type === "member") { const m = mockMembers.find((m) => m.user_id === id); return m?.name ?? "Unknown"; } if (type === "agent") { const a = mockAgents.find((a) => a.id === id); return a?.name ?? "Unknown Agent"; } return "System"; }, getActorInitials: (type: string, id: string) => { return "TU"; }, };