@process-engine/ci_tools
Version:
CI tools for process-engine.io
44 lines (36 loc) • 1.95 kB
text/typescript
import * as assert from 'assert';
import { getNpmTag } from './tag';
describe('tag.ts', () => {
describe('getNpmTag()', () => {
it('should return the right tags for primary branches', () => {
assert.strictEqual(getNpmTag('master'), null);
assert.strictEqual(getNpmTag('beta'), 'beta');
assert.strictEqual(getNpmTag('alpha'), 'alpha');
});
it('should return the right tags for primary branches with different default branches', () => {
process.env.CI_TOOLS_DEVELOP_BRANCH = 'development';
process.env.CI_TOOLS_ALPHA_BRANCH = 'prerelease';
process.env.CI_TOOLS_BETA_BRANCH = 'staging';
process.env.CI_TOOLS_STABLE_BRANCH = 'main';
// fully reload tag module, to apply new environment variables
delete require.cache[require.resolve('./tag')];
const getNpmTagWithNewEnvironment = require('./tag').getNpmTag;
assert.strictEqual(getNpmTagWithNewEnvironment('main'), null);
assert.strictEqual(getNpmTagWithNewEnvironment('staging'), 'beta');
assert.strictEqual(getNpmTagWithNewEnvironment('prerelease'), 'alpha');
assert.strictEqual(getNpmTagWithNewEnvironment('development'), 'develop');
assert.strictEqual(getNpmTagWithNewEnvironment('master'), 'master');
assert.strictEqual(getNpmTagWithNewEnvironment('beta'), 'beta');
assert.strictEqual(getNpmTagWithNewEnvironment('alpha'), 'alpha');
assert.strictEqual(getNpmTagWithNewEnvironment('develop'), 'develop');
delete process.env.CI_TOOLS_DEVELOP_BRANCH;
delete process.env.CI_TOOLS_ALPHA_BRANCH;
delete process.env.CI_TOOLS_BETA_BRANCH;
delete process.env.CI_TOOLS_STABLE_BRANCH;
});
it('should return the right tags for secondary branches', () => {
assert.strictEqual(getNpmTag('feature/add-new-feature'), 'feature~add-new-feature');
assert.strictEqual(getNpmTag('refs/pull/16/merge'), 'refs~pull~16~merge');
});
});
});