diff --git a/test/fixtures/config/config-with-name-and-tag-template.yml b/test/fixtures/config/config-with-name-and-tag-template.yml new file mode 100644 index 000000000..2386fec5a --- /dev/null +++ b/test/fixtures/config/config-with-name-and-tag-template.yml @@ -0,0 +1,3 @@ +template: Placeholder with example. Automatically calculated values based on previous releases are next major=$NEXT_MAJOR_VERSION, minor=$NEXT_MINOR_VERSION, patch=$NEXT_PATCH_VERSION. +name-template: 'v1.2.3 (Code name: Hello World)' +tag-template: v3.4.5 diff --git a/test/index.test.js b/test/index.test.js index 106793605..14941089f 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -2149,6 +2149,23 @@ describe('release-drafter', () => { }) }) + describe('with just the tag containing variables', () => { + it('gets the version from the tag and expands variables in it', async () => { + return overridesTest( + { + tag: 'v$RESOLVED_VERSION-beta', + configName: 'config-with-name-and-tag-template.yml', + }, + { + body: `Placeholder with example. Automatically calculated values based on previous releases are next major=3.0.0, minor=2.1.0, patch=2.0.1.`, + draft: true, + name: 'v1.2.3 (Code name: Hello World)', + tag_name: 'v2.0.1-beta', + } + ) + }) + }) + describe('with just the name', () => { it('gets the version from the name and forces using the name', async () => { return overridesTest( @@ -2163,6 +2180,23 @@ describe('release-drafter', () => { }) }) + describe('with just the name containing variables', () => { + it('gets the version from the name and expands variables in it', async () => { + return overridesTest( + { + name: 'v$RESOLVED_VERSION-beta (Code name: Mega Unicorn)', + configName: 'config-with-name-and-tag-template.yml', + }, + { + body: `Placeholder with example. Automatically calculated values based on previous releases are next major=3.0.0, minor=2.1.0, patch=2.0.1.`, + draft: true, + name: 'v2.0.1-beta (Code name: Mega Unicorn)', + tag_name: 'v3.4.5', + } + ) + }) + }) + describe('with publish: true', () => { it('immediately publishes the created draft', async () => { return overridesTest(