style: prettier
This commit is contained in:
@@ -1,92 +1,94 @@
|
||||
import test from 'ava';
|
||||
import {maintenance, prerelease, release} from '../../lib/definitions/branches.js';
|
||||
import test from "ava";
|
||||
import { maintenance, prerelease, release } from "../../lib/definitions/branches.js";
|
||||
|
||||
test('A "maintenance" branch is identified by having a "range" property or a "name" formatted like "N.x", "N.x.x" or "N.N.x"', (t) => {
|
||||
/* eslint-disable unicorn/no-fn-reference-in-iterator */
|
||||
t.true(maintenance.filter({name: '1.x.x'}));
|
||||
t.true(maintenance.filter({name: '1.0.x'}));
|
||||
t.true(maintenance.filter({name: '1.x'}));
|
||||
t.true(maintenance.filter({name: 'some-name', range: '1.x.x'}));
|
||||
t.true(maintenance.filter({name: 'some-name', range: '1.1.x'}));
|
||||
t.true(maintenance.filter({name: 'some-name', range: ''}));
|
||||
t.true(maintenance.filter({name: 'some-name', range: true}));
|
||||
t.true(maintenance.filter({ name: "1.x.x" }));
|
||||
t.true(maintenance.filter({ name: "1.0.x" }));
|
||||
t.true(maintenance.filter({ name: "1.x" }));
|
||||
t.true(maintenance.filter({ name: "some-name", range: "1.x.x" }));
|
||||
t.true(maintenance.filter({ name: "some-name", range: "1.1.x" }));
|
||||
t.true(maintenance.filter({ name: "some-name", range: "" }));
|
||||
t.true(maintenance.filter({ name: "some-name", range: true }));
|
||||
|
||||
t.false(maintenance.filter({name: 'some-name', range: null}));
|
||||
t.false(maintenance.filter({name: 'some-name', range: false}));
|
||||
t.false(maintenance.filter({name: 'some-name'}));
|
||||
t.false(maintenance.filter({name: '1.0.0'}));
|
||||
t.false(maintenance.filter({name: 'x.x.x'}));
|
||||
t.false(maintenance.filter({ name: "some-name", range: null }));
|
||||
t.false(maintenance.filter({ name: "some-name", range: false }));
|
||||
t.false(maintenance.filter({ name: "some-name" }));
|
||||
t.false(maintenance.filter({ name: "1.0.0" }));
|
||||
t.false(maintenance.filter({ name: "x.x.x" }));
|
||||
/* eslint-enable unicorn/no-fn-reference-in-iterator */
|
||||
});
|
||||
|
||||
test('A "maintenance" branches must have a "range" property formatted like "N.x", "N.x.x" or "N.N.x"', (t) => {
|
||||
t.true(maintenance.branchValidator({name: 'some-name', range: '1.x.x'}));
|
||||
t.true(maintenance.branchValidator({name: 'some-name', range: '1.1.x'}));
|
||||
t.true(maintenance.branchValidator({ name: "some-name", range: "1.x.x" }));
|
||||
t.true(maintenance.branchValidator({ name: "some-name", range: "1.1.x" }));
|
||||
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: '^1.0.0'}));
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: '>=1.0.0 <2.0.0'}));
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: '1.0.0'}));
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: 'wrong-range'}));
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: true}));
|
||||
t.false(maintenance.branchValidator({name: 'some-name', range: ''}));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: "^1.0.0" }));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: ">=1.0.0 <2.0.0" }));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: "1.0.0" }));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: "wrong-range" }));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: true }));
|
||||
t.false(maintenance.branchValidator({ name: "some-name", range: "" }));
|
||||
});
|
||||
|
||||
test('The "maintenance" branches must have unique ranges', (t) => {
|
||||
t.true(maintenance.branchesValidator([{range: '1.x.x'}, {range: '1.0.x'}]));
|
||||
t.true(maintenance.branchesValidator([{ range: "1.x.x" }, { range: "1.0.x" }]));
|
||||
|
||||
t.false(maintenance.branchesValidator([{range: '1.x.x'}, {range: '1.x.x'}]));
|
||||
t.false(maintenance.branchesValidator([{range: '1.x.x'}, {range: '1.x'}]));
|
||||
t.false(maintenance.branchesValidator([{ range: "1.x.x" }, { range: "1.x.x" }]));
|
||||
t.false(maintenance.branchesValidator([{ range: "1.x.x" }, { range: "1.x" }]));
|
||||
});
|
||||
|
||||
test('A "prerelease" branch is identified by having a thruthy "prerelease" property', (t) => {
|
||||
/* eslint-disable unicorn/no-fn-reference-in-iterator */
|
||||
t.true(prerelease.filter({name: 'some-name', prerelease: true}));
|
||||
t.true(prerelease.filter({name: 'some-name', prerelease: 'beta'}));
|
||||
t.true(prerelease.filter({name: 'some-name', prerelease: ''}));
|
||||
t.true(prerelease.filter({ name: "some-name", prerelease: true }));
|
||||
t.true(prerelease.filter({ name: "some-name", prerelease: "beta" }));
|
||||
t.true(prerelease.filter({ name: "some-name", prerelease: "" }));
|
||||
|
||||
t.false(prerelease.filter({name: 'some-name', prerelease: null}));
|
||||
t.false(prerelease.filter({name: 'some-name', prerelease: false}));
|
||||
t.false(prerelease.filter({name: 'some-name'}));
|
||||
t.false(prerelease.filter({ name: "some-name", prerelease: null }));
|
||||
t.false(prerelease.filter({ name: "some-name", prerelease: false }));
|
||||
t.false(prerelease.filter({ name: "some-name" }));
|
||||
/* eslint-enable unicorn/no-fn-reference-in-iterator */
|
||||
});
|
||||
|
||||
test('A "prerelease" branch must have a valid prerelease detonation in "prerelease" property or in "name" if "prerelease" is "true"', (t) => {
|
||||
t.true(prerelease.branchValidator({name: 'beta', prerelease: true}));
|
||||
t.true(prerelease.branchValidator({name: 'some-name', prerelease: 'beta'}));
|
||||
t.true(prerelease.branchValidator({ name: "beta", prerelease: true }));
|
||||
t.true(prerelease.branchValidator({ name: "some-name", prerelease: "beta" }));
|
||||
|
||||
t.false(prerelease.branchValidator({name: 'some-name', prerelease: ''}));
|
||||
t.false(prerelease.branchValidator({name: 'some-name', prerelease: null}));
|
||||
t.false(prerelease.branchValidator({name: 'some-name', prerelease: false}));
|
||||
t.false(prerelease.branchValidator({name: 'some-name', prerelease: '000'}));
|
||||
t.false(prerelease.branchValidator({name: 'some-name', prerelease: '#beta'}));
|
||||
t.false(prerelease.branchValidator({name: '000', prerelease: true}));
|
||||
t.false(prerelease.branchValidator({name: '#beta', prerelease: true}));
|
||||
t.false(prerelease.branchValidator({ name: "some-name", prerelease: "" }));
|
||||
t.false(prerelease.branchValidator({ name: "some-name", prerelease: null }));
|
||||
t.false(prerelease.branchValidator({ name: "some-name", prerelease: false }));
|
||||
t.false(prerelease.branchValidator({ name: "some-name", prerelease: "000" }));
|
||||
t.false(prerelease.branchValidator({ name: "some-name", prerelease: "#beta" }));
|
||||
t.false(prerelease.branchValidator({ name: "000", prerelease: true }));
|
||||
t.false(prerelease.branchValidator({ name: "#beta", prerelease: true }));
|
||||
});
|
||||
|
||||
test('The "prerelease" branches must have unique "prerelease" property', (t) => {
|
||||
t.true(prerelease.branchesValidator([{prerelease: 'beta'}, {prerelease: 'alpha'}]));
|
||||
t.true(prerelease.branchesValidator([{ prerelease: "beta" }, { prerelease: "alpha" }]));
|
||||
|
||||
t.false(prerelease.branchesValidator([{range: 'beta'}, {range: 'beta'}, {range: 'alpha'}]));
|
||||
t.false(prerelease.branchesValidator([{ range: "beta" }, { range: "beta" }, { range: "alpha" }]));
|
||||
});
|
||||
|
||||
test('A "release" branch is identified by not havin a "range" or "prerelease" property or a "name" formatted like "N.x", "N.x.x" or "N.N.x"', (t) => {
|
||||
/* eslint-disable unicorn/no-fn-reference-in-iterator */
|
||||
t.true(release.filter({name: 'some-name'}));
|
||||
t.true(release.filter({ name: "some-name" }));
|
||||
|
||||
t.false(release.filter({name: '1.x.x'}));
|
||||
t.false(release.filter({name: '1.0.x'}));
|
||||
t.false(release.filter({name: 'some-name', range: '1.x.x'}));
|
||||
t.false(release.filter({name: 'some-name', range: '1.1.x'}));
|
||||
t.false(release.filter({name: 'some-name', prerelease: true}));
|
||||
t.false(release.filter({name: 'some-name', prerelease: 'beta'}));
|
||||
t.false(release.filter({ name: "1.x.x" }));
|
||||
t.false(release.filter({ name: "1.0.x" }));
|
||||
t.false(release.filter({ name: "some-name", range: "1.x.x" }));
|
||||
t.false(release.filter({ name: "some-name", range: "1.1.x" }));
|
||||
t.false(release.filter({ name: "some-name", prerelease: true }));
|
||||
t.false(release.filter({ name: "some-name", prerelease: "beta" }));
|
||||
/* eslint-enable unicorn/no-fn-reference-in-iterator */
|
||||
});
|
||||
|
||||
test('There must be between 1 and 3 release branches', (t) => {
|
||||
t.true(release.branchesValidator([{name: 'branch1'}]));
|
||||
t.true(release.branchesValidator([{name: 'branch1'}, {name: 'branch2'}]));
|
||||
t.true(release.branchesValidator([{name: 'branch1'}, {name: 'branch2'}, {name: 'branch3'}]));
|
||||
test("There must be between 1 and 3 release branches", (t) => {
|
||||
t.true(release.branchesValidator([{ name: "branch1" }]));
|
||||
t.true(release.branchesValidator([{ name: "branch1" }, { name: "branch2" }]));
|
||||
t.true(release.branchesValidator([{ name: "branch1" }, { name: "branch2" }, { name: "branch3" }]));
|
||||
|
||||
t.false(release.branchesValidator([]));
|
||||
t.false(release.branchesValidator([{name: 'branch1'}, {name: 'branch2'}, {name: 'branch3'}, {name: 'branch4'}]));
|
||||
t.false(
|
||||
release.branchesValidator([{ name: "branch1" }, { name: "branch2" }, { name: "branch3" }, { name: "branch4" }])
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import test from 'ava';
|
||||
import plugins from '../../lib/definitions/plugins.js';
|
||||
import {RELEASE_NOTES_SEPARATOR, SECRET_REPLACEMENT} from '../../lib/definitions/constants.js';
|
||||
import test from "ava";
|
||||
import plugins from "../../lib/definitions/plugins.js";
|
||||
import { RELEASE_NOTES_SEPARATOR, SECRET_REPLACEMENT } from "../../lib/definitions/constants.js";
|
||||
|
||||
test('The "analyzeCommits" plugin output must be either undefined or a valid semver release type', (t) => {
|
||||
t.false(plugins.analyzeCommits.outputValidator('invalid'));
|
||||
t.false(plugins.analyzeCommits.outputValidator("invalid"));
|
||||
t.false(plugins.analyzeCommits.outputValidator(1));
|
||||
t.false(plugins.analyzeCommits.outputValidator({}));
|
||||
|
||||
t.true(plugins.analyzeCommits.outputValidator());
|
||||
t.true(plugins.analyzeCommits.outputValidator(null));
|
||||
t.true(plugins.analyzeCommits.outputValidator('major'));
|
||||
t.true(plugins.analyzeCommits.outputValidator("major"));
|
||||
});
|
||||
|
||||
test('The "generateNotes" plugin output, if defined, must be a string', (t) => {
|
||||
@@ -18,57 +18,57 @@ test('The "generateNotes" plugin output, if defined, must be a string', (t) => {
|
||||
|
||||
t.true(plugins.generateNotes.outputValidator());
|
||||
t.true(plugins.generateNotes.outputValidator(null));
|
||||
t.true(plugins.generateNotes.outputValidator(''));
|
||||
t.true(plugins.generateNotes.outputValidator('string'));
|
||||
t.true(plugins.generateNotes.outputValidator(""));
|
||||
t.true(plugins.generateNotes.outputValidator("string"));
|
||||
});
|
||||
|
||||
test('The "publish" plugin output, if defined, must be an object or "false"', (t) => {
|
||||
t.false(plugins.publish.outputValidator(1));
|
||||
t.false(plugins.publish.outputValidator('string'));
|
||||
t.false(plugins.publish.outputValidator("string"));
|
||||
|
||||
t.true(plugins.publish.outputValidator({}));
|
||||
t.true(plugins.publish.outputValidator());
|
||||
t.true(plugins.publish.outputValidator(null));
|
||||
t.true(plugins.publish.outputValidator(''));
|
||||
t.true(plugins.publish.outputValidator(""));
|
||||
t.true(plugins.publish.outputValidator(false));
|
||||
});
|
||||
|
||||
test('The "addChannel" plugin output, if defined, must be an object', (t) => {
|
||||
t.false(plugins.addChannel.outputValidator(1));
|
||||
t.false(plugins.addChannel.outputValidator('string'));
|
||||
t.false(plugins.addChannel.outputValidator("string"));
|
||||
|
||||
t.true(plugins.addChannel.outputValidator({}));
|
||||
t.true(plugins.addChannel.outputValidator());
|
||||
t.true(plugins.addChannel.outputValidator(null));
|
||||
t.true(plugins.addChannel.outputValidator(''));
|
||||
t.true(plugins.addChannel.outputValidator(""));
|
||||
});
|
||||
|
||||
test('The "generateNotes" plugins output are concatenated with separator and sensitive data is hidden', (t) => {
|
||||
const env = {MY_TOKEN: 'secret token'};
|
||||
t.is(plugins.generateNotes.postprocess(['note 1', 'note 2'], {env}), `note 1${RELEASE_NOTES_SEPARATOR}note 2`);
|
||||
t.is(plugins.generateNotes.postprocess(['', 'note'], {env}), 'note');
|
||||
t.is(plugins.generateNotes.postprocess([undefined, 'note'], {env}), 'note');
|
||||
t.is(plugins.generateNotes.postprocess(['note 1', '', 'note 2'], {env}), `note 1${RELEASE_NOTES_SEPARATOR}note 2`);
|
||||
const env = { MY_TOKEN: "secret token" };
|
||||
t.is(plugins.generateNotes.postprocess(["note 1", "note 2"], { env }), `note 1${RELEASE_NOTES_SEPARATOR}note 2`);
|
||||
t.is(plugins.generateNotes.postprocess(["", "note"], { env }), "note");
|
||||
t.is(plugins.generateNotes.postprocess([undefined, "note"], { env }), "note");
|
||||
t.is(plugins.generateNotes.postprocess(["note 1", "", "note 2"], { env }), `note 1${RELEASE_NOTES_SEPARATOR}note 2`);
|
||||
t.is(
|
||||
plugins.generateNotes.postprocess(['note 1', undefined, 'note 2'], {env}),
|
||||
plugins.generateNotes.postprocess(["note 1", undefined, "note 2"], { env }),
|
||||
`note 1${RELEASE_NOTES_SEPARATOR}note 2`
|
||||
);
|
||||
|
||||
t.is(
|
||||
plugins.generateNotes.postprocess(
|
||||
[`Note 1: Exposing token ${env.MY_TOKEN}`, `Note 2: Exposing token ${SECRET_REPLACEMENT}`],
|
||||
{env}
|
||||
{ env }
|
||||
),
|
||||
`Note 1: Exposing token ${SECRET_REPLACEMENT}${RELEASE_NOTES_SEPARATOR}Note 2: Exposing token ${SECRET_REPLACEMENT}`
|
||||
);
|
||||
});
|
||||
|
||||
test('The "analyzeCommits" plugins output are reduced to the highest release type', (t) => {
|
||||
t.is(plugins.analyzeCommits.postprocess(['major', 'minor']), 'major');
|
||||
t.is(plugins.analyzeCommits.postprocess(['', 'minor']), 'minor');
|
||||
t.is(plugins.analyzeCommits.postprocess([undefined, 'patch']), 'patch');
|
||||
t.is(plugins.analyzeCommits.postprocess([null, 'patch']), 'patch');
|
||||
t.is(plugins.analyzeCommits.postprocess(['wrong_type', 'minor']), 'minor');
|
||||
t.is(plugins.analyzeCommits.postprocess(["major", "minor"]), "major");
|
||||
t.is(plugins.analyzeCommits.postprocess(["", "minor"]), "minor");
|
||||
t.is(plugins.analyzeCommits.postprocess([undefined, "patch"]), "patch");
|
||||
t.is(plugins.analyzeCommits.postprocess([null, "patch"]), "patch");
|
||||
t.is(plugins.analyzeCommits.postprocess(["wrong_type", "minor"]), "minor");
|
||||
t.is(plugins.analyzeCommits.postprocess([]), undefined);
|
||||
t.is(plugins.analyzeCommits.postprocess(['wrong_type']), undefined);
|
||||
t.is(plugins.analyzeCommits.postprocess(["wrong_type"]), undefined);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user