test(ai-review): 補上建問題模式結果檔測試

This commit is contained in:
Jeffery
2026-07-21 14:24:10 +08:00
parent 555611db07
commit 8b50a0d643
+27 -2
View File
@@ -4,12 +4,13 @@ const assert = require('node:assert/strict');
const test = require('node:test'); const test = require('node:test');
const review = require('../src/lib/review'); const review = require('../src/lib/review');
const diagnostics = require('../src/lib/diagnostics');
test('agentFailureDetail 預設不輸出 stderr/stdout 片段', () => { test('agentFailureDetail 預設不輸出 stderr/stdout 片段', () => {
const oldDebug = process.env.ACTIONS_STEP_DEBUG; const oldDebug = process.env.ACTIONS_STEP_DEBUG;
delete process.env.ACTIONS_STEP_DEBUG; delete process.env.ACTIONS_STEP_DEBUG;
try { try {
const detail = review.__test.agentFailureDetail({ const detail = diagnostics.agentFailureDetail({
ok: false, ok: false,
error: Object.assign(new Error('boom'), { code: 1 }), error: Object.assign(new Error('boom'), { code: 1 }),
stderr: 'token=super-secret-value', stderr: 'token=super-secret-value',
@@ -27,7 +28,7 @@ test('agentFailureDetail 在 debug 模式輸出遮罩後片段', () => {
const oldDebug = process.env.ACTIONS_STEP_DEBUG; const oldDebug = process.env.ACTIONS_STEP_DEBUG;
process.env.ACTIONS_STEP_DEBUG = 'true'; process.env.ACTIONS_STEP_DEBUG = 'true';
try { try {
const detail = review.__test.agentFailureDetail({ const detail = diagnostics.agentFailureDetail({
ok: false, ok: false,
error: Object.assign(new Error('boom'), { code: 2 }), error: Object.assign(new Error('boom'), { code: 2 }),
stderr: 'Authorization: Bearer abcdefghijklmnopqrstuvwxyz1234567890', stderr: 'Authorization: Bearer abcdefghijklmnopqrstuvwxyz1234567890',
@@ -72,3 +73,27 @@ test('postOthersToIssue 批次送出 issue 留言', async () => {
assert.equal(calls[0].issueNumber, 7); assert.equal(calls[0].issueNumber, 7);
assert.ok(maxActive > 1); 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'],
);
});