test(ai-review): 補日誌 input/output/result helper 與誤報裁決、usage 解析、parseBot 健壯性測試

This commit is contained in:
Jeffery
2026-06-23 15:15:24 +08:00
parent 374bb4ec75
commit 756b2cd4ef
4 changed files with 51 additions and 1 deletions
+9
View File
@@ -49,6 +49,15 @@ describe('extractUsage', () => {
assert.equal(extractUsage({ choices: [{ message: { content: 'hi' } }] }), null);
assert.equal(extractUsage(null), null);
});
it('handles malformed usage payloads without throwing or NaN', () => {
assert.equal(extractUsage(undefined), null);
assert.equal(extractUsage('not-an-object'), null);
assert.equal(extractUsage({ usage: 'x' }), null); // usage 非物件
assert.equal(extractUsage({ usage: {} }), null); // 欄位缺失
// 非數字 token 欄位 → 一律以 0 計,最終無有效 usage → null(不會回傳 NaN
assert.equal(extractUsage({ usage: { prompt_tokens: 'abc', completion_tokens: null, total_tokens: 'x' } }), null);
});
});
describe('recordUsage / getRunUsage', () => {