agent-ecosystem/test/renderer/components/team/review/initialReviewFileScroll.test.ts

49 lines
1.4 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { buildInitialReviewFileScrollKey } from '@renderer/components/team/review/initialReviewFileScroll';
import type { TaskChangeSetV2 } from '@shared/types';
function makeChangeSet(sourceFingerprint: string): TaskChangeSetV2 {
return {
teamName: 'team-a',
taskId: 'task-1',
files: [],
totalFiles: 0,
totalLinesAdded: 0,
totalLinesRemoved: 0,
confidence: 'high',
computedAt: '2026-04-20T10:00:00.000Z',
scope: {
taskId: 'task-1',
memberName: 'alice',
startLine: 0,
endLine: 0,
startTimestamp: '',
endTimestamp: '',
toolUseIds: [],
filePaths: [],
confidence: { tier: 1, label: 'high', reason: 'ledger' },
},
warnings: [],
provenance: {
sourceKind: 'ledger',
sourceFingerprint,
},
};
}
describe('buildInitialReviewFileScrollKey', () => {
it('changes when the change set identity changes even if the initial file path is unchanged', () => {
const path = '/repo/src/shared.ts';
expect(buildInitialReviewFileScrollKey(makeChangeSet('fp-a'), path)).not.toBe(
buildInitialReviewFileScrollKey(makeChangeSet('fp-b'), path)
);
});
it('does not produce a key without a change set or file path', () => {
expect(buildInitialReviewFileScrollKey(null, '/repo/src/file.ts')).toBeNull();
expect(buildInitialReviewFileScrollKey(makeChangeSet('fp'), undefined)).toBeNull();
});
});