diff --git a/__tests__/releaseNotesBuilder.test.ts b/__tests__/releaseNotesBuilder.test.ts index b702c12..ed8cbd9 100644 --- a/__tests__/releaseNotesBuilder.test.ts +++ b/__tests__/releaseNotesBuilder.test.ts @@ -1,19 +1,6 @@ import { resolveConfiguration } from '../src/utils'; import { ReleaseNotesBuilder } from '../src/releaseNotesBuilder'; -// shows how the runner will run a javascript action with env / stdout protocol -/* -test('test runs', () => { - jest.setTimeout(180000); - - process.env['INPUT_CONFIGURATION'] = 'configuration.json' - const ip = path.join(__dirname, '..', 'lib', 'main.js') - const options: cp.ExecSyncOptions = { - env: process.env - } - console.log(cp.execSync(`node ${ip}`, options).toString()) -}) -*/ it('Should match generated changelog (unspecified fromTag)', async () => { jest.setTimeout(180000) @@ -38,4 +25,67 @@ it('Should match generated changelog (unspecified fromTag)', async () => { - PR: #10 `) +}) + +it('Should use empty placeholder', async () => { + jest.setTimeout(180000) + + const configuration = resolveConfiguration('', 'configs/configuration.json') + const releaseNotesBuilder = new ReleaseNotesBuilder( + null, + '.', + 'mikepenz', + 'release-changelog-builder-action', + 'v0.0.2', + 'v0.0.3', + false, + false, + configuration + ) + + const changeLog = await releaseNotesBuilder.build() + console.log(changeLog) + expect(changeLog).toStrictEqual(`- no changes`) +}) + +it('Should fill empty placeholders', async () => { + jest.setTimeout(180000) + + const configuration = resolveConfiguration('', 'configs_test/configuration_empty_all_placeholders.json') + const releaseNotesBuilder = new ReleaseNotesBuilder( + null, + '.', + 'mikepenz', + 'release-changelog-builder-action', + 'v0.0.2', + 'v0.0.3', + false, + false, + configuration + ) + + const changeLog = await releaseNotesBuilder.build() + console.log(changeLog) + expect(changeLog).toStrictEqual(`mikepenz\nrelease-changelog-builder-action\nv0.0.2\nv0.0.3`) +}) + +it('Should fill `template` placeholders', async () => { + jest.setTimeout(180000) + + const configuration = resolveConfiguration('', 'configs_test/configuration_empty_all_placeholders.json') + const releaseNotesBuilder = new ReleaseNotesBuilder( + null, + '.', + 'mikepenz', + 'release-changelog-builder-action', + 'v0.0.1', + 'v0.0.3', + false, + false, + configuration + ) + + const changeLog = await releaseNotesBuilder.build() + console.log(changeLog) + expect(changeLog).toStrictEqual(`## 🧪 Tests\n\n- [CI] Specify Test Case\n - PR: #10\n\n\n\nmikepenz\nrelease-changelog-builder-action\nv0.0.1\nv0.0.3\n1\n0`) }) \ No newline at end of file diff --git a/configs_test/configuration_empty_all_placeholders.json b/configs_test/configuration_empty_all_placeholders.json new file mode 100644 index 0000000..6d3c9fe --- /dev/null +++ b/configs_test/configuration_empty_all_placeholders.json @@ -0,0 +1,4 @@ +{ + "template": "${{CHANGELOG}}\n${{UNCATEGORIZED}}\n${{OWNER}}\n${{REPO}}\n${{FROM_TAG}}\n${{TO_TAG}}\n${{CATEGORIZED_COUNT}}\n${{UNCATEGORIZED_COUNT}}", + "empty_template": "${{OWNER}}\n${{REPO}}\n${{FROM_TAG}}\n${{TO_TAG}}" +} \ No newline at end of file