import { expect, test, describe, it } from "bun:test"; import { CommitDiff } from "../../src/interfaces/CommitDiff"; import { generateHumanReadableCommitDiffDocument } from "../../src/parsers/extractDiffContent"; describe('generateHumanReadableDiffDocument', () => { it('should generate a human readable diff document', () => { // Arrange const commitDiff: CommitDiff = { commitHash: 'abcdef123456', author: 'John Doe', date: '2023-11-15', title: 'Fix a bug', message: 'This commit fixes a bug.', diffs: [ { fileName: 'file1.txt', lines: [ { lineNum: 1, content: 'Hello, world!' }, { lineNum: 2, content: '+Hello, Git!' } ] }, { fileName: 'file2.txt', lines: [ { lineNum: 1, content: 'Goodbye, world!' }, { lineNum: 2, content: '+Goodbye, Git!' } ] } ] }; const expectedOutput = [ 'Commit title: Fix a bug', 'Commit message: This commit fixes a bug.', 'File: file1.txt', 'Changes:', '1: Hello, world!', '2: +Hello, Git!', 'File: file2.txt', 'Changes:', '1: Goodbye, world!', '2: +Goodbye, Git!', ].join('\n'); // Act const result = generateHumanReadableCommitDiffDocument(commitDiff); // Assert expect(result).toEqual(expectedOutput); }); });