From 8b50a0d6439cbb5bc6f664f6a9f6b03056576940 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Tue, 21 Jul 2026 14:24:10 +0800 Subject: [PATCH] =?UTF-8?q?test(ai-review):=20=E8=A3=9C=E4=B8=8A=E5=BB=BA?= =?UTF-8?q?=E5=95=8F=E9=A1=8C=E6=A8=A1=E5=BC=8F=E7=B5=90=E6=9E=9C=E6=AA=94?= =?UTF-8?q?=E6=B8=AC=E8=A9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/review.test.js | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/test/review.test.js b/test/review.test.js index 8d10353..d49e210 100644 --- a/test/review.test.js +++ b/test/review.test.js @@ -4,12 +4,13 @@ const assert = require('node:assert/strict'); const test = require('node:test'); const review = require('../src/lib/review'); +const diagnostics = require('../src/lib/diagnostics'); test('agentFailureDetail 預設不輸出 stderr/stdout 片段', () => { const oldDebug = process.env.ACTIONS_STEP_DEBUG; delete process.env.ACTIONS_STEP_DEBUG; try { - const detail = review.__test.agentFailureDetail({ + const detail = diagnostics.agentFailureDetail({ ok: false, error: Object.assign(new Error('boom'), { code: 1 }), stderr: 'token=super-secret-value', @@ -27,7 +28,7 @@ test('agentFailureDetail 在 debug 模式輸出遮罩後片段', () => { const oldDebug = process.env.ACTIONS_STEP_DEBUG; process.env.ACTIONS_STEP_DEBUG = 'true'; try { - const detail = review.__test.agentFailureDetail({ + const detail = diagnostics.agentFailureDetail({ ok: false, error: Object.assign(new Error('boom'), { code: 2 }), stderr: 'Authorization: Bearer abcdefghijklmnopqrstuvwxyz1234567890', @@ -72,3 +73,27 @@ test('postOthersToIssue 批次送出 issue 留言', async () => { assert.equal(calls[0].issueNumber, 7); assert.ok(maxActive > 1); }); + +test('resultFilesToCommit 在建問題模式有嚴重問題時仍提交 findings', () => { + assert.deepEqual( + review.resultFilesToCommit({ + createIssue: true, + severeCount: 1, + relativePath: '.gitea/ai-review/findings/run.json', + exclusionsChanged: false, + }), + ['.gitea/ai-review/findings/run.json'], + ); +}); + +test('resultFilesToCommit 在建問題模式無嚴重問題時只提交 exclusions 異動', () => { + assert.deepEqual( + review.resultFilesToCommit({ + createIssue: true, + severeCount: 0, + relativePath: '.gitea/ai-review/findings/run.json', + exclusionsChanged: true, + }), + ['.gitea/ai-review/exclusions.json'], + ); +});