diff --git a/src/api/aiRuns.ts b/src/api/aiRuns.ts
index 795d60d..ff370b0 100644
--- a/src/api/aiRuns.ts
+++ b/src/api/aiRuns.ts
@@ -28,6 +28,7 @@ export interface AiRunResponse {
status: AiRunStatus
analysis_outcome: AiAnalysisOutcome | null
detected_intent: string | null
+ evidence: string | null
error_code: string | null
attempt_count: number
version: number
diff --git a/src/pages/CreateWorkPage/CreateWorkPage.test.tsx b/src/pages/CreateWorkPage/CreateWorkPage.test.tsx
index bd6925b..790aa9b 100644
--- a/src/pages/CreateWorkPage/CreateWorkPage.test.tsx
+++ b/src/pages/CreateWorkPage/CreateWorkPage.test.tsx
@@ -21,6 +21,7 @@ const AI_RUN = {
status: 'SUCCEEDED',
analysis_outcome: 'NEEDS_INFO',
detected_intent: 'EXPIRY_RENEWAL',
+ evidence: null,
error_code: null,
attempt_count: 1,
version: 1,
diff --git a/src/pages/ReviewWorkPage/AiRunReview.test.tsx b/src/pages/ReviewWorkPage/AiRunReview.test.tsx
index 4a07130..2d8ef93 100644
--- a/src/pages/ReviewWorkPage/AiRunReview.test.tsx
+++ b/src/pages/ReviewWorkPage/AiRunReview.test.tsx
@@ -20,6 +20,7 @@ const RUN: AiRunResponse = {
status: 'SUCCEEDED',
analysis_outcome: 'REVIEW_REQUIRED',
detected_intent: 'EXPIRY_RENEWAL',
+ evidence: null,
error_code: null,
attempt_count: 1,
version: 3,
@@ -92,6 +93,7 @@ function processingRun(): AiRunResponse {
status: 'RUNNING',
analysis_outcome: null,
detected_intent: null,
+ evidence: null,
version: 1,
questions: [],
candidates: [],
@@ -104,6 +106,7 @@ function needsInfoRun(): AiRunResponse {
status: 'SUCCEEDED',
analysis_outcome: 'NEEDS_INFO',
detected_intent: 'EXPIRY_RENEWAL',
+ evidence: null,
version: 2,
questions: [
{
@@ -234,6 +237,41 @@ describe('AiRunReview candidate decision', () => {
})
})
+describe('AiRunReview 분석 근거', () => {
+ function mockCatalogAndWorkers() {
+ vi.mocked(fetch).mockImplementation((input) => {
+ const url = String(input)
+ if (url.includes('/workflow-catalogs')) return Promise.resolve(jsonResponse(CATALOG))
+ if (url.includes('/workers')) {
+ return Promise.resolve(jsonResponse({ items: [], page: 0, size: 100, total_elements: 0 }))
+ }
+ return Promise.reject(new Error(`Unexpected request: ${url}`))
+ })
+ }
+
+ it('renders the evidence text returned by the API', async () => {
+ mockCatalogAndWorkers()
+ render(
+
분석 근거
-현재 분석 API에서 제공하지 않음
++ {run.evidence ?? '현재 분석 API에서 제공하지 않음'} +