refactor(ai-review 統計): 精簡 action log 統計輸出
This commit is contained in:
+16
-7
@@ -3,7 +3,7 @@ import assert from 'node:assert/strict';
|
||||
import fs from 'node:fs';
|
||||
import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
import { saveFindings, parseLocation, postNewCriticalComments, postFindingsReview, formatFindingsStats } from './comments.js';
|
||||
import { saveFindings, parseLocation, postNewCriticalComments, postFindingsReview, formatFindingsStats, formatFindingsStatsLine } from './comments.js';
|
||||
import { FINDINGS_PATH } from './config.js';
|
||||
|
||||
describe('saveFindings', () => {
|
||||
@@ -97,13 +97,15 @@ describe('parseLocation', () => {
|
||||
});
|
||||
|
||||
describe('formatFindingsStats', () => {
|
||||
const statsFindings = [
|
||||
{ level: 'critical', is_new: false },
|
||||
{ level: 'warning', is_new: true },
|
||||
{ level: 'info' },
|
||||
{ level: 'custom', is_new: true },
|
||||
];
|
||||
|
||||
it('formats old and new findings by severity', () => {
|
||||
const stats = formatFindingsStats([
|
||||
{ level: 'critical', is_new: false },
|
||||
{ level: 'warning', is_new: true },
|
||||
{ level: 'info' },
|
||||
{ level: 'custom', is_new: true },
|
||||
]);
|
||||
const stats = formatFindingsStats(statsFindings);
|
||||
|
||||
assert.equal(stats, [
|
||||
'| 類型 | 🔴 嚴重 | 🟡 警告 | 🔵 建議 |',
|
||||
@@ -112,6 +114,13 @@ describe('formatFindingsStats', () => {
|
||||
'| 新問題 | 0 筆 | 1 筆 | 1 筆 |',
|
||||
].join('\n'));
|
||||
});
|
||||
|
||||
it('formats compact one-line stats for action logs', () => {
|
||||
assert.equal(
|
||||
formatFindingsStatsLine(statsFindings),
|
||||
'舊: 嚴重1 / 警告0 / 建議0;新: 嚴重0 / 警告1 / 建議1',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('postNewCriticalComments', () => {
|
||||
|
||||
Reference in New Issue
Block a user