plugin-inspector/test/release-notes.test.js
2026-04-27 21:34:13 -07:00

39 lines
1.1 KiB
JavaScript

import assert from "node:assert/strict";
import { test } from "node:test";
import { extractReleaseNotes } from "../scripts/release-notes.mjs";
const changelog = [
"# Changelog",
"",
"## Unreleased",
"",
"### Added",
"",
"- Add grouped API helpers.",
"",
"## 0.3.0 - 2026-04-27",
"",
"### Changed",
"",
"- Improve setup.",
"",
].join("\n");
test("release notes can render unreleased draft notes", () => {
assert.equal(
extractReleaseNotes({ changelogText: changelog, version: "Unreleased" }),
["## plugin-inspector unreleased", "", "### Added", "", "- Add grouped API helpers.", ""].join("\n"),
);
});
test("release notes can render versioned changelog sections", () => {
assert.equal(
extractReleaseNotes({ changelogText: changelog, version: "0.3.0" }),
["## plugin-inspector v0.3.0", "", "### Changed", "", "- Improve setup.", ""].join("\n"),
);
});
test("release notes fail when a version section is missing", () => {
assert.throws(() => extractReleaseNotes({ changelogText: changelog, version: "9.9.9" }), /missing a 9\.9\.9/);
});