@process-engine/ci_tools
Version:
CI tools for process-engine.io
58 lines (51 loc) • 2.64 kB
text/typescript
import * as assert from 'assert';
import { findNextSuffixNumber, incrementVersion } from './increment_version';
const BRANCH_ALPHA = 'alpha';
const BRANCH_BETA = 'beta';
const BRANCH_MASTER = 'master';
const GIT_TAG_LIST = `v1.2.1-alpha.10
v1.2.1-alpha.7
v1.2.1-alpha.8
v1.2.1-alpha.9
v2.0.0-alpha.1
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.1.0-beta.1`;
describe('increment_version.ts', () => {
describe('incrementVersion()', () => {
it('should return the incremented version for the first alpha build of a new version', () => {
assert.equal(incrementVersion('3.2.1', BRANCH_ALPHA, GIT_TAG_LIST), '3.2.1-alpha.1');
});
it('should return the incremented version for unknown pre-version suffixes', () => {
assert.equal(incrementVersion('3.2.1-asdf5', BRANCH_ALPHA, GIT_TAG_LIST), '3.2.1-alpha.1');
});
it('should return the incremented version for subsequent alpha versions', () => {
assert.equal(incrementVersion('1.2.1-alpha.7', BRANCH_ALPHA, GIT_TAG_LIST), '1.2.1-alpha.11');
});
it('should return the incremented version for the first beta build of a alpha version', () => {
assert.equal(incrementVersion('3.2.1-alpha.3', BRANCH_BETA, GIT_TAG_LIST), '3.2.1-beta.1');
});
it('should return the incremented version for subsequent beta versions', () => {
// v2.1.0-beta.3 not in tag list, falling back to numbering found there
assert.equal(incrementVersion('2.1.0-beta.3', BRANCH_BETA, GIT_TAG_LIST), '2.1.0-beta.2');
});
it('should return the incremented version for the stable build of a alpha version', () => {
assert.equal(incrementVersion('3.2.1-alpha.42', BRANCH_MASTER, GIT_TAG_LIST), '3.2.1');
});
it('should return the incremented version for the stable build of a beta version', () => {
assert.equal(incrementVersion('3.2.1-beta.4', BRANCH_MASTER, GIT_TAG_LIST), '3.2.1');
});
});
describe('findNextSuffixNumber()', () => {
it('should work', () => {
assert.equal(findNextSuffixNumber('1.2.1', BRANCH_ALPHA, GIT_TAG_LIST), 11);
assert.equal(findNextSuffixNumber('1.3.0', BRANCH_ALPHA, GIT_TAG_LIST), 1);
assert.equal(findNextSuffixNumber('2.0.0', BRANCH_ALPHA, GIT_TAG_LIST), 4);
assert.equal(findNextSuffixNumber('2.1.0', BRANCH_ALPHA, GIT_TAG_LIST), 1);
assert.equal(findNextSuffixNumber('1.2.1', BRANCH_BETA, GIT_TAG_LIST), 1);
assert.equal(findNextSuffixNumber('2.0.0', BRANCH_BETA, GIT_TAG_LIST), 1);
assert.equal(findNextSuffixNumber('2.1.0', BRANCH_BETA, GIT_TAG_LIST), 2);
assert.equal(findNextSuffixNumber('2.2.0', BRANCH_BETA, GIT_TAG_LIST), 1);
});
});
});