@process-engine/ci_tools
Version:
CI tools for process-engine.io
31 lines (26 loc) • 1.38 kB
text/typescript
import * as assert from 'assert';
import { getBranchFromRefTag, mapReleaseChannelNameToBranch } from './git';
describe('git.ts', () => {
describe('getBranchFromRefTag()', () => {
it('should return the right branch name for tag references', () => {
assert.strictEqual(getBranchFromRefTag('refs/tags/v1.0.0-alpha.18'), 'alpha');
assert.strictEqual(getBranchFromRefTag('refs/tags/v1.0.0-beta.18'), 'beta');
assert.strictEqual(getBranchFromRefTag('refs/tags/v1.0.0'), 'master');
});
it('should return null if tag reference is not valid semver', () => {
assert.strictEqual(getBranchFromRefTag('refs/tags/v1dd.0.0-alpha.18'), null);
assert.strictEqual(getBranchFromRefTag('v1.0ddds.0-beta.18'), null);
assert.strictEqual(getBranchFromRefTag('refs/tags/myIndividualTagWithoutAVersion'), null);
});
});
describe('mapReleaseChannelNameToBranch()', () => {
it('should map the release channels to branch names', () => {
assert.strictEqual(mapReleaseChannelNameToBranch('alpha'), 'alpha');
assert.strictEqual(mapReleaseChannelNameToBranch('beta'), 'beta');
assert.strictEqual(mapReleaseChannelNameToBranch('stable'), 'master');
});
it('should return undefined if the release channel is not known', () => {
assert.strictEqual(mapReleaseChannelNameToBranch('channel'), undefined);
});
});
});