diff --git a/web-ui/src/__tests__/components/sessions/SessionDetailPage.test.tsx b/web-ui/src/__tests__/components/sessions/SessionDetailPage.test.tsx new file mode 100644 index 00000000..a529059f --- /dev/null +++ b/web-ui/src/__tests__/components/sessions/SessionDetailPage.test.tsx @@ -0,0 +1,306 @@ +import { render, screen, fireEvent, waitFor } from '@testing-library/react'; +import { useRouter } from 'next/navigation'; +import useSWR from 'swr'; +import { SessionDetailClient } from '@/app/sessions/[id]/SessionDetailClient'; +import { sessionsApi } from '@/lib/api'; +import type { Session } from '@/types'; + +// ── Mocks ──────────────────────────────────────────────────────────────── + +jest.mock('next/navigation', () => ({ + useRouter: jest.fn(), +})); + +jest.mock('swr'); + +jest.mock('@/lib/api', () => ({ + sessionsApi: { + getOne: jest.fn(), + end: jest.fn(), + getMessages: jest.fn(), + }, +})); + +jest.mock('@/components/sessions/AgentChatPanel', () => ({ + AgentChatPanel: ({ + sessionId, + readOnly, + }: { + sessionId: string; + readOnly?: boolean; + }) => ( +
+ {!readOnly &&