27 lines
948 B
TypeScript
27 lines
948 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { generateAutomaticCommitMessage } from './automaticCommitMessage'
|
|
import type { ModifiedFile } from '../types'
|
|
|
|
function file(relativePath: string): ModifiedFile {
|
|
return {
|
|
path: `/vault/${relativePath}`,
|
|
relativePath,
|
|
status: 'modified',
|
|
}
|
|
}
|
|
|
|
describe('generateAutomaticCommitMessage', () => {
|
|
it('returns an empty string when there is nothing to commit', () => {
|
|
expect(generateAutomaticCommitMessage([])).toBe('')
|
|
})
|
|
|
|
it('counts markdown files as notes', () => {
|
|
expect(generateAutomaticCommitMessage([file('note-a.md')])).toBe('Updated 1 note')
|
|
expect(generateAutomaticCommitMessage([file('note-a.md'), file('note-b.md')])).toBe('Updated 2 notes')
|
|
})
|
|
|
|
it('falls back to files when any modified path is not markdown', () => {
|
|
expect(generateAutomaticCommitMessage([file('note-a.md'), file('attachments/image.png')])).toBe('Updated 2 files')
|
|
})
|
|
})
|