1 | import { inDirSync, run, setupGitWorkingCopyForTest, shell } from '../test_functions';
|
2 | import { assertNewTagCreated, assertNoNewTagsCreated, assertNodePackageVersion } from '../assert_functions';
|
3 |
|
4 | function setNodePackageVersionAndCommit(version: string): void {
|
5 | shell(`npm version ${version} --no-git-tag-version`);
|
6 | assertNodePackageVersion(version);
|
7 | shell('git add package.json');
|
8 | shell(`git commit --message "Bump version to ${version}"`);
|
9 | }
|
10 |
|
11 | describe('prepare-version / commit-and-tag-version', () => {
|
12 | it('should work with mode: node', async () => {
|
13 | const gitTempWorkingCopy = setupGitWorkingCopyForTest();
|
14 | inDirSync(gitTempWorkingCopy, () => {
|
15 | shell('git config user.email "process-engine-ci@5minds.de"');
|
16 | shell('git config user.name "Integration Testbot"');
|
17 |
|
18 |
|
19 |
|
20 | shell('git checkout alpha');
|
21 | setNodePackageVersionAndCommit('1.2.1-dev');
|
22 |
|
23 | assertNoNewTagsCreated(() => {
|
24 | run('prepare-version');
|
25 | assertNodePackageVersion('1.2.1-alpha.11');
|
26 | });
|
27 |
|
28 | assertNewTagCreated('v1.2.1-alpha.11', () => {
|
29 | run('commit-and-tag-version');
|
30 | });
|
31 |
|
32 |
|
33 |
|
34 | shell('git checkout beta');
|
35 | setNodePackageVersionAndCommit('1.2.1-dev');
|
36 |
|
37 | assertNoNewTagsCreated(() => {
|
38 | run('prepare-version');
|
39 | assertNodePackageVersion('1.2.1-beta.1');
|
40 | });
|
41 |
|
42 | assertNewTagCreated('v1.2.1-beta.1', () => {
|
43 | run('commit-and-tag-version');
|
44 | });
|
45 |
|
46 |
|
47 |
|
48 | shell('git checkout master');
|
49 | setNodePackageVersionAndCommit('1.2.1-dev');
|
50 |
|
51 | assertNoNewTagsCreated(() => {
|
52 | run('prepare-version');
|
53 | assertNodePackageVersion('1.2.1');
|
54 | });
|
55 |
|
56 | assertNewTagCreated('v1.2.1', () => {
|
57 | run('commit-and-tag-version');
|
58 | });
|
59 | });
|
60 | });
|
61 | });
|