Files
compound-engineering-plugin…/tests/release-preview.test.ts
Trevin Chow 2c29da8e65 chore(coding-tutor): remove deprecated plugin
The coding-tutor plugin is no longer offered for install on any platform.
Drops it from all three marketplace catalogs (Claude, Cursor, Codex) and
from release-please's config and manifest so no further releases are cut
for it, and strips it from the release tooling (ReleaseComponent union,
component detection, metadata sync, and the Codex parity check), leaving
compound-engineering as the sole tracked plugin.
2026-06-11 22:02:26 -07:00

44 lines
1.8 KiB
TypeScript

import { describe, expect, test } from "bun:test"
import { buildReleasePreview, bumpVersion, loadCurrentVersions } from "../src/release/components"
describe("release preview", () => {
test("uses changed files to determine affected components and next versions", async () => {
const versions = await loadCurrentVersions()
const preview = await buildReleasePreview({
title: "fix: adjust ce-plan wording",
files: ["plugins/compound-engineering/skills/ce-plan/SKILL.md"],
})
expect(preview.components).toHaveLength(1)
expect(preview.components[0].component).toBe("compound-engineering")
expect(preview.components[0].inferredBump).toBe("patch")
expect(preview.components[0].nextVersion).toBe(bumpVersion(versions["compound-engineering"], "patch"))
})
test("supports per-component overrides without affecting unrelated components", async () => {
const versions = await loadCurrentVersions()
const preview = await buildReleasePreview({
title: "fix: refine compound-engineering prompts",
files: ["plugins/compound-engineering/README.md"],
overrides: {
"compound-engineering": "minor",
},
})
expect(preview.components).toHaveLength(1)
expect(preview.components[0].component).toBe("compound-engineering")
expect(preview.components[0].inferredBump).toBe("patch")
expect(preview.components[0].effectiveBump).toBe("minor")
expect(preview.components[0].nextVersion).toBe(bumpVersion(versions["compound-engineering"], "minor"))
})
test("docs-only changes remain non-releasable by default", async () => {
const preview = await buildReleasePreview({
title: "docs: update release planning notes",
files: ["docs/plans/2026-03-17-001-feat-release-automation-migration-beta-plan.md"],
})
expect(preview.components).toHaveLength(0)
})
})