From 128f5f696bad099f126c3f8c2fa25e1b69f85fc4 Mon Sep 17 00:00:00 2001 From: Alessandro Rabitti Date: Sat, 18 Nov 2023 08:30:56 +0100 Subject: [PATCH] Renovate/conventional changelog angular 7.x (#3725) * chore: update dependency conventional-changelog-angular to v7 * fix: update conventional-changelog-angular unit tests * fix: improve scope-enum unit tests --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- @commitlint/parse/src/index.ts | 3 +- .../rules/src/references-empty.test.ts | 2 +- @commitlint/rules/src/scope-enum.test.ts | 28 +++++++++++++++---- .../src/subject-exclamation-mark.test.ts | 2 +- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/@commitlint/parse/src/index.ts b/@commitlint/parse/src/index.ts index 52b3ac17a8..1aabfdced9 100644 --- a/@commitlint/parse/src/index.ts +++ b/@commitlint/parse/src/index.ts @@ -8,7 +8,8 @@ export async function parse( parser: Parser = sync, parserOpts?: ParserOptions ): Promise { - const defaultOpts = (await defaultChangelogOpts).parserOpts; + const preset = await defaultChangelogOpts(); + const defaultOpts = preset.parserOpts; const opts = { ...defaultOpts, fieldPattern: null, diff --git a/@commitlint/rules/src/references-empty.test.ts b/@commitlint/rules/src/references-empty.test.ts index 90073cb4dc..510e4b9309 100644 --- a/@commitlint/rules/src/references-empty.test.ts +++ b/@commitlint/rules/src/references-empty.test.ts @@ -12,7 +12,7 @@ const messages = { }; const opts = (async () => { - const o = await preset; + const o = await preset(); o.parserOpts.commentChar = '#'; return o; })(); diff --git a/@commitlint/rules/src/scope-enum.test.ts b/@commitlint/rules/src/scope-enum.test.ts index b5abb87481..56b52cfa43 100644 --- a/@commitlint/rules/src/scope-enum.test.ts +++ b/@commitlint/rules/src/scope-enum.test.ts @@ -24,9 +24,10 @@ test('scope-enum with plain message and always should succeed empty enum', async }); test('scope-enum with plain message and never should error empty enum', async () => { - const [actual] = scopeEnum(await parsed.plain, 'never', []); + const [actual, message] = scopeEnum(await parsed.plain, 'never', []); const expected = false; expect(actual).toEqual(expected); + expect(message).toEqual('scope must not be one of []'); }); test('with plain message should succeed correct enum', async () => { @@ -36,15 +37,17 @@ test('with plain message should succeed correct enum', async () => { }); test('scope-enum with plain message should error false enum', async () => { - const [actual] = scopeEnum(await parsed.plain, 'always', ['foo']); + const [actual, message] = scopeEnum(await parsed.plain, 'always', ['foo']); const expected = false; expect(actual).toEqual(expected); + expect(message).toEqual('scope must be one of [foo]'); }); test('scope-enum with plain message should error forbidden enum', async () => { - const [actual] = scopeEnum(await parsed.plain, 'never', ['bar']); + const [actual, message] = scopeEnum(await parsed.plain, 'never', ['bar']); const expected = false; expect(actual).toEqual(expected); + expect(message).toEqual('scope must not be one of [bar]'); }); test('scope-enum with plain message should succeed forbidden enum', async () => { @@ -95,14 +98,21 @@ test('scope-enum with empty scope and never should succeed empty enum', async () expect(actual).toEqual(expected); }); -test('scope-enum with multiple scopes should succeed on message with multiple scopes', async () => { - const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar', 'baz']); +test('scope-enum with multiple scopes should error on message with multiple scopes', async () => { + const [actual, message] = scopeEnum(await parsed.multiple, 'never', [ + 'bar', + 'baz', + ]); const expected = false; expect(actual).toEqual(expected); + expect(message).toEqual('scope must not be one of [bar, baz]'); }); test('scope-enum with multiple scopes should error on message with forbidden enum', async () => { - const [actual] = scopeEnum(await parsed.multiple, 'never', ['bar', 'qux']); + const [actual, message] = scopeEnum(await parsed.multiple, 'never', [ + 'bar', + 'qux', + ]); const expected = true; expect(actual).toEqual(expected); }); @@ -113,6 +123,12 @@ test('scope-enum with multiple scopes should error on message with superfluous s expect(actual).toEqual(expected); }); +test('scope-enum with multiple scope should succeed on message with multiple scopes', async () => { + const [actual] = scopeEnum(await parsed.multiple, 'always', ['bar', 'baz']); + const expected = true; + expect(actual).toEqual(expected); +}); + test('scope-enum with multiple scope with comma+space should succeed on message with multiple scopes', async () => { const [actual] = scopeEnum(await parsed.multipleCommaSpace, 'always', [ 'bar', diff --git a/@commitlint/rules/src/subject-exclamation-mark.test.ts b/@commitlint/rules/src/subject-exclamation-mark.test.ts index 1b36eb8e3b..3c032906e1 100644 --- a/@commitlint/rules/src/subject-exclamation-mark.test.ts +++ b/@commitlint/rules/src/subject-exclamation-mark.test.ts @@ -4,7 +4,7 @@ import {subjectExclamationMark} from './subject-exclamation-mark'; const preset = require('conventional-changelog-angular'); const parseMessage = async (str: string) => { - const {parserOpts} = await preset; + const {parserOpts} = await preset(); return parse(str, undefined, parserOpts); };