fix(#2716): route non-user-facing conventional types to an Internal bucket, omit from release notes (#2838)
* test(#2716): failing-first regression for non-user-facing types → Internal bucket * fix(#2716): route non-user-facing conventional types to an Internal bucket, omit from release notes * fix(#2716): update SAMPLE_BODY/Discord/property tests for Internal bucket; fix stale CONTRIBUTING sentence (review) * test(#2716): relax Discord Enhancement assertion (enhance: prefix not stripped by cleanBullet) * docs(changeset): #2716 non-user-facing types omitted from release notes * docs(changeset): backfill #2716 PR number to 2838
This commit is contained in:
@@ -39,8 +39,8 @@ describe('classifyBucket', () => {
|
||||
assert.equal(classifyBucket('fix: another fix'), 'Fix');
|
||||
});
|
||||
|
||||
test('chore(#N): -> Enhancement (catch-all)', () => {
|
||||
assert.equal(classifyBucket('chore(#2): some chore'), 'Enhancement');
|
||||
test('chore(#N): -> Internal (#2716 — non-user-facing type)', () => {
|
||||
assert.equal(classifyBucket('chore(#2): some chore'), 'Internal');
|
||||
});
|
||||
|
||||
test('untyped title -> Enhancement (catch-all)', () => {
|
||||
@@ -148,3 +148,34 @@ describe('evaluatePrTitle — rejected titles', () => {
|
||||
assert.ok(r.message.length > 0);
|
||||
});
|
||||
});
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// #2716: non-user-facing conventional types (test/chore/ci/docs/refactor/perf/
|
||||
// revert) classify to 'Internal', NOT 'Enhancement' — they must not render under
|
||||
// the user-facing Enhancement heading in release notes. Untyped and anchor-
|
||||
// defeated titles stay in the visible Enhancement fallback (safety net).
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
describe('classifyBucket #2716: non-user-facing types → Internal', () => {
|
||||
for (const type of ['test', 'chore', 'ci', 'docs', 'refactor', 'perf', 'revert']) {
|
||||
test(`${type}(#N): → Internal (not Enhancement)`, () => {
|
||||
assert.equal(classifyBucket(`${type}(#100): some internal work`), 'Internal');
|
||||
});
|
||||
test(`${type}: (no scope) → Internal`, () => {
|
||||
assert.equal(classifyBucket(`${type}: some internal work`), 'Internal');
|
||||
});
|
||||
}
|
||||
|
||||
test('feat/fix classification is unchanged', () => {
|
||||
assert.equal(classifyBucket('feat(#5): new thing'), 'Feature');
|
||||
assert.equal(classifyBucket('fix(#6): fix thing'), 'Fix');
|
||||
});
|
||||
|
||||
test('untyped title stays in Enhancement (safety net)', () => {
|
||||
assert.equal(classifyBucket('Main changes'), 'Enhancement');
|
||||
});
|
||||
|
||||
test('[security] fix(...) stays in Enhancement (anchor-defeated safety net)', () => {
|
||||
assert.equal(classifyBucket('[security] fix(config): the case'), 'Enhancement');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user