diff --git a/frontend/src/app/test-suites/[id]/page.tsx b/frontend/src/app/test-suites/[id]/page.tsx index 77d1cb6..4d0ee52 100644 --- a/frontend/src/app/test-suites/[id]/page.tsx +++ b/frontend/src/app/test-suites/[id]/page.tsx @@ -62,6 +62,7 @@ export default function TestSuiteDetailPage() { loading, error, allTests, + allConversations, allSuites, entries, suiteRuns, @@ -260,6 +261,9 @@ export default function TestSuiteDetailPage() { if (entry.test_id) { const test = allTests.find((t) => t.id === entry.test_id); return test ? test.name : `Test #${entry.test_id}`; + } else if (entry.conversation_id) { + const conversation = allConversations.find((c) => c.id === entry.conversation_id); + return conversation ? conversation.name : `Conversation #${entry.conversation_id}`; } else if (entry.child_suite_id) { const childSuite = allSuites.find((s) => s.id === entry.child_suite_id); return childSuite ? childSuite.name : `Suite #${entry.child_suite_id}`; @@ -573,7 +577,13 @@ export default function TestSuiteDetailPage() { - {entry.test_id ? 'Test' : 'Suite'} + + {entry.test_id + ? 'Test' + : entry.conversation_id + ? 'Conversation' + : 'Suite'} +
{getEntryName(entry)} diff --git a/frontend/src/app/test-suites/[id]/useTestSuiteDetailData.ts b/frontend/src/app/test-suites/[id]/useTestSuiteDetailData.ts index 3d503bb..8382522 100644 --- a/frontend/src/app/test-suites/[id]/useTestSuiteDetailData.ts +++ b/frontend/src/app/test-suites/[id]/useTestSuiteDetailData.ts @@ -1,5 +1,13 @@ import { useCallback, useEffect, useState } from 'react'; -import { api, type Agent, type SuiteEntry, type SuiteRun, type Test, type TestSuite } from '../../../lib/api'; +import { + api, + type Agent, + type Conversation, + type SuiteEntry, + type SuiteRun, + type Test, + type TestSuite +} from '../../../lib/api'; export function useTestSuiteDetailData(suiteId: number) { const [suite, setSuite] = useState(null); @@ -9,6 +17,7 @@ export function useTestSuiteDetailData(suiteId: number) { const [error, setError] = useState(null); const [allTests, setAllTests] = useState([]); const [allSuites, setAllSuites] = useState([]); + const [allConversations, setAllConversations] = useState([]); const [entries, setEntries] = useState([]); const [suiteRuns, setSuiteRuns] = useState([]); @@ -27,15 +36,17 @@ export function useTestSuiteDetailData(suiteId: number) { try { await loadSuiteMeta(); - const [agentsData, allTestsData, entriesData, runsData] = await Promise.all([ + const [agentsData, allTestsData, allConversationsData, entriesData, runsData] = await Promise.all([ api.getAgents(), api.getTests(), + api.getConversations().then((r) => (Array.isArray(r) ? r : r.data)), api.getSuiteEntries(suiteId), api.getSuiteRuns({ suite_id: suiteId, limit: 250 }) ]); setAgents(agentsData); setAllTests(allTestsData); + setAllConversations(allConversationsData); setEntries(entriesData); setSuiteRuns(runsData); setSelectedAgentId((prev) => prev ?? agentsData[0]?.id ?? null); @@ -62,6 +73,7 @@ export function useTestSuiteDetailData(suiteId: number) { loading, error, allTests, + allConversations, allSuites, entries, suiteRuns,