@process-engine/ci_tools
Version:
CI tools for process-engine.io
62 lines (47 loc) • 1.8 kB
text/typescript
import { inDirSync, run, setupGitWorkingCopyForTest, shell } from '../test_functions';
import { assertNewTagCreated, assertNoNewTagsCreated, assertNodePackageVersion } from '../assert_functions';
function setNodePackageVersionAndCommit(version: string): void {
shell(`npm version ${version} --no-git-tag-version`);
assertNodePackageVersion(version);
shell('git add package.json');
shell(`git commit --message "Bump version to ${version}"`);
}
describe('prepare-version / commit-and-tag-version', () => {
it('should work with mode: node', async () => {
const gitTempWorkingCopy = setupGitWorkingCopyForTest();
inDirSync(gitTempWorkingCopy, () => {
shell('git config user.email "process-engine-ci@5minds.de"');
shell('git config user.name "Integration Testbot"');
// alpha
shell('git checkout alpha');
setNodePackageVersionAndCommit('1.2.1-dev');
assertNoNewTagsCreated(() => {
run('prepare-version');
assertNodePackageVersion('1.2.1-alpha.11');
});
assertNewTagCreated('v1.2.1-alpha.11', () => {
run('commit-and-tag-version');
});
// beta
shell('git checkout beta');
setNodePackageVersionAndCommit('1.2.1-dev');
assertNoNewTagsCreated(() => {
run('prepare-version');
assertNodePackageVersion('1.2.1-beta.1');
});
assertNewTagCreated('v1.2.1-beta.1', () => {
run('commit-and-tag-version');
});
// stable
shell('git checkout master');
setNodePackageVersionAndCommit('1.2.1-dev');
assertNoNewTagsCreated(() => {
run('prepare-version');
assertNodePackageVersion('1.2.1');
});
assertNewTagCreated('v1.2.1', () => {
run('commit-and-tag-version');
});
});
});
});