refactor: add new suggestion for comments.js and enhance filterDiff tests for better coverage

This commit is contained in:
2026-05-13 01:18:21 +00:00
parent 4834396652
commit fade942267
2 changed files with 35 additions and 5 deletions
+30 -5
View File
@@ -2,13 +2,10 @@ import { describe, it, afterEach, mock } from 'node:test';
import assert from 'node:assert/strict';
import axios from 'axios';
// gitea.js reads env vars at module load time (ESM cache), so we test
// the actual values baked in at import time and verify behavior via axios mocks.
afterEach(() => mock.restoreAll());
describe('gitea', async () => {
const { getPRDiff, postComment } = await import('./gitea.js');
const { getPRDiff, filterDiff, postComment } = await import('./gitea.js');
it('getPRDiff calls Gitea diff API with Authorization header', async () => {
let capturedUrl, capturedOpts;
@@ -48,7 +45,6 @@ describe('gitea', async () => {
return { data: '' };
});
await getPRDiff();
// httpsAgent is undefined when GITEA_SKIP_TLS_VERIFY !== 'true'
assert.equal(capturedOpts.httpsAgent, undefined);
});
@@ -62,3 +58,32 @@ describe('gitea', async () => {
await assert.rejects(() => postComment('test'), /api error/);
});
});
describe('filterDiff', async () => {
const { filterDiff } = await import('./gitea.js');
const block = (file) => `diff --git a/${file} b/${file}\n--- a/${file}\n+++ b/${file}\n@@ -1 +1 @@\n-old\n+new\n`;
it('filters out .gitea/ blocks', () => {
const diff = block('.gitea/workflows/review.yaml') + block('src/index.js');
const result = filterDiff(diff, ['.gitea/']);
assert.ok(!result.includes('.gitea/'));
assert.ok(result.includes('src/index.js'));
});
it('does not filter non-.gitea/ blocks', () => {
const diff = block('src/index.js') + block('README.md');
const result = filterDiff(diff, ['.gitea/']);
assert.equal(result, diff);
});
it('returns empty string when all blocks are excluded', () => {
const diff = block('.gitea/workflows/review.yaml') + block('.gitea/ai-review/findings.json');
const result = filterDiff(diff, ['.gitea/']);
assert.equal(result, '');
});
it('returns empty string for empty diff', () => {
assert.equal(filterDiff('', ['.gitea/']), '');
});
});