brain/scripts/test/backfill-series-id.test.js

28 lines
1.1 KiB
JavaScript

// scripts/test/backfill-series-id.test.js
const { describe, it } = require('node:test');
const assert = require('node:assert/strict');
const { upsertFrontmatterField } = require('../backfill-series-id.js');
describe('upsertFrontmatterField', () => {
it('inserts new field when missing', () => {
const md = `---\ntags: [jour-fixe]\nserie: IT Team\nrhythmus: wöchentlich\n---\n\n# Agenda\n`;
const out = upsertFrontmatterField(md, 'o365_series_id', 'AAMkSeries123');
assert.ok(out.includes('o365_series_id: AAMkSeries123'));
assert.ok(out.includes('serie: IT Team'));
assert.ok(out.endsWith('# Agenda\n'));
});
it('replaces existing field value', () => {
const md = `---\nserie: X\no365_series_id: OLD\n---\n\nbody\n`;
const out = upsertFrontmatterField(md, 'o365_series_id', 'NEW');
assert.ok(out.includes('o365_series_id: NEW'));
assert.ok(!out.includes('OLD'));
});
it('returns content unchanged when no frontmatter present', () => {
const md = `# No frontmatter\n`;
const out = upsertFrontmatterField(md, 'o365_series_id', 'X');
assert.equal(out, md);
});
});