Files
blb-throne-of-the-bone-king/__tests__/changelogData.test.ts
T
jacob-mathison d0ac1c5622
Lint and Build Checks / Lint, Test, and Build (push) Failing after 560h18m4s
feat(changelog): add release ledger data
2026-06-16 11:19:24 -05:00

60 lines
1.4 KiB
TypeScript

import {
changelogEntries,
getChangelogEntriesNewestFirst,
isChangelogEntries,
} from '../src/data';
describe('changelog data', () => {
it('provides valid changelog entries', () => {
expect(isChangelogEntries(changelogEntries)).toBe(true);
expect(changelogEntries.length).toBeGreaterThan(0);
expect(changelogEntries[0]).toEqual(
expect.objectContaining({
id: 'build-metadata-changelog-poc',
title: 'Build Metadata and Changelog Scaffold',
}),
);
});
it('sorts changelog entries newest first', () => {
const sortedEntries = getChangelogEntriesNewestFirst([
{
changes: ['Older change'],
createdAt: '2026-06-01',
id: 'older-entry',
summary: 'Older summary',
title: 'Older Entry',
version: '0.0.1',
},
{
changes: ['Newer change'],
createdAt: '2026-06-16',
id: 'newer-entry',
summary: 'Newer summary',
title: 'Newer Entry',
version: '0.0.2',
},
]);
expect(sortedEntries.map(entry => entry.id)).toEqual([
'newer-entry',
'older-entry',
]);
});
it('rejects malformed changelog data', () => {
expect(
isChangelogEntries([
{
changes: 'not-an-array',
createdAt: '2026-06-16',
id: 'bad',
summary: 'Bad entry',
title: 'Bad',
version: '0.0.1',
},
]),
).toBe(false);
});
});