mirror of
https://github.com/semantic-release/semantic-release.git
synced 2026-10-26 16:09:37 +00:00
d8c84a0e0b
The message now specify if the step is required and if it allows to configure multiple plugins.
59 lines
2.2 KiB
JavaScript
59 lines
2.2 KiB
JavaScript
import test from 'ava';
|
|
import {validateConfig} from '../../lib/plugins/utils';
|
|
|
|
test('Validate multiple/optional plugin configuration', t => {
|
|
const type = {multiple: true, required: false};
|
|
t.false(validateConfig(type, {}));
|
|
t.false(validateConfig(type, {path: null}));
|
|
|
|
t.true(validateConfig(type, {path: 'plugin-path.js'}));
|
|
t.true(validateConfig(type));
|
|
t.true(validateConfig(type, 'plugin-path.js'));
|
|
t.true(validateConfig(type, ['plugin-path.js']));
|
|
t.true(validateConfig(type, () => {}));
|
|
t.true(validateConfig(type, [{path: 'plugin-path.js'}, 'plugin-path.js', () => {}]));
|
|
});
|
|
|
|
test('Validate multiple/required plugin configuration', t => {
|
|
const type = {multiple: true, required: true};
|
|
t.false(validateConfig(type, {}));
|
|
t.false(validateConfig(type, {path: null}));
|
|
t.false(validateConfig(type));
|
|
|
|
t.true(validateConfig(type, {path: 'plugin-path.js'}));
|
|
t.true(validateConfig(type, 'plugin-path.js'));
|
|
t.true(validateConfig(type, ['plugin-path.js']));
|
|
t.true(validateConfig(type, () => {}));
|
|
t.true(validateConfig(type, [{path: 'plugin-path.js'}, 'plugin-path.js', () => {}]));
|
|
});
|
|
|
|
test('Validate single/required plugin configuration', t => {
|
|
const type = {multiple: false, required: true};
|
|
|
|
t.false(validateConfig(type, {}));
|
|
t.false(validateConfig(type, {path: null}));
|
|
t.false(validateConfig(type, []));
|
|
t.false(validateConfig(type));
|
|
t.false(validateConfig(type, [{path: 'plugin-path.js'}, 'plugin-path.js', () => {}]));
|
|
|
|
t.true(validateConfig(type, {path: 'plugin-path.js'}));
|
|
t.true(validateConfig(type, 'plugin-path.js'));
|
|
t.true(validateConfig(type, ['plugin-path.js']));
|
|
t.true(validateConfig(type, () => {}));
|
|
});
|
|
|
|
test('Validate single/optional plugin configuration', t => {
|
|
const type = {multiple: false, required: false};
|
|
|
|
t.false(validateConfig(type, {}));
|
|
t.false(validateConfig(type, {path: null}));
|
|
t.false(validateConfig(type, [{path: 'plugin-path.js'}, 'plugin-path.js', () => {}]));
|
|
|
|
t.true(validateConfig(type));
|
|
t.true(validateConfig(type, []));
|
|
t.true(validateConfig(type, {path: 'plugin-path.js'}));
|
|
t.true(validateConfig(type, 'plugin-path.js'));
|
|
t.true(validateConfig(type, ['plugin-path.js']));
|
|
t.true(validateConfig(type, () => {}));
|
|
});
|