release-it 19.0.0-next.1 → 19.0.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,9 +25,10 @@ const gitAdd = (content, filePath, message) => {
25
25
  return match ? match[1] : null;
26
26
  };
27
27
 
28
- const getArgs = (args, prefix) =>
29
- args
30
- .map(args => (typeof args[0] !== 'string' ? args[0].join(' ') : args[0]))
28
+ const getArgs = (fn, prefix) =>
29
+ fn.mock.calls
30
+ .map(call => call.arguments[0])
31
+ .map(arg => (typeof arg !== 'string' ? arg.join(' ') : arg))
31
32
  .filter(cmd => cmd.startsWith(prefix))
32
33
  .map(cmd => cmd.trim());
33
34
 
@@ -1,21 +1,48 @@
1
- import sinon from 'sinon';
1
+ import { mock } from 'node:test';
2
2
  import semver from 'semver';
3
3
  import { parseVersion } from '../../lib/util.js';
4
- import Log from '../../lib/log.js';
5
4
  import Config from '../../lib/config.js';
6
5
  import ShellStub from '../stub/shell.js';
7
- import Spinner from '../../lib/spinner.js';
8
6
  import Prompt from '../../lib/prompt.js';
9
7
 
8
+ const noop = Promise.resolve();
9
+
10
+ export class LogStub {
11
+ constructor() {
12
+ this.log = mock.fn();
13
+ this.error = mock.fn();
14
+ this.info = mock.fn();
15
+ this.warn = mock.fn();
16
+ this.verbose = mock.fn();
17
+ this.exec = mock.fn();
18
+ this.obtrusive = mock.fn();
19
+ this.preview = mock.fn();
20
+ }
21
+ resetCalls() {
22
+ this.log.mock.resetCalls();
23
+ this.error.mock.resetCalls();
24
+ this.info.mock.resetCalls();
25
+ this.warn.mock.resetCalls();
26
+ this.verbose.mock.resetCalls();
27
+ this.exec.mock.resetCalls();
28
+ this.obtrusive.mock.resetCalls();
29
+ this.preview.mock.resetCalls();
30
+ }
31
+ }
32
+
33
+ export class SpinnerStub {
34
+ show({ enabled = true, task }) {
35
+ return enabled ? task() : noop;
36
+ }
37
+ }
38
+
10
39
  export let factory = (Definition, { namespace, options = {}, container = {} } = {}) => {
11
40
  options = Object.assign({}, { ci: true, verbose: false, 'dry-run': false, debug: false }, options);
12
41
  const ns = namespace || Definition.name.toLowerCase();
13
42
  container.config = container.config || new Config(Object.assign({ config: false }, options));
14
- container.log = container.log || sinon.createStubInstance(Log);
43
+ container.log = new LogStub();
15
44
 
16
- const spinner = container.spinner || sinon.createStubInstance(Spinner);
17
- spinner.show.callsFake(({ enabled = true, task }) => (enabled ? task() : () => {}));
18
- container.spinner = spinner;
45
+ container.spinner = new SpinnerStub();
19
46
  container.shell = container.shell || new ShellStub({ container });
20
47
 
21
48
  container.prompt = container.prompt || new Prompt({ container });
@@ -0,0 +1,11 @@
1
+ import { MockServer, FetchMocker } from 'mentoss';
2
+
3
+ export const mockFetch = baseUrls => {
4
+ const servers = [baseUrls].flat().map(url => new MockServer(url));
5
+
6
+ const mocker = new FetchMocker({
7
+ servers
8
+ });
9
+
10
+ return [mocker, ...servers];
11
+ };
package/test/utils.js CHANGED
@@ -1,35 +1,36 @@
1
1
  import { EOL } from 'node:os';
2
- import test from 'ava';
2
+ import test from 'node:test';
3
+ import assert from 'node:assert/strict';
4
+ import { stripVTControlCharacters } from 'node:util';
3
5
  import mockStdIo from 'mock-stdio';
4
- import stripAnsi from 'strip-ansi';
5
6
  import { format, truncateLines, parseGitUrl, parseVersion } from '../lib/util.js';
6
7
 
7
- test('format', t => {
8
- t.is(format('release v${version}', { version: '1.0.0' }), 'release v1.0.0');
9
- t.is(format('release v${version} (${name})', { version: '1.0.0', name: 'foo' }), 'release v1.0.0 (foo)');
10
- t.is(format('release v${version} (${name})', { version: '1.0.0', name: 'foo' }), 'release v1.0.0 (foo)');
8
+ test('format', () => {
9
+ assert.equal(format('release v${version}', { version: '1.0.0' }), 'release v1.0.0');
10
+ assert.equal(format('release v${version} (${name})', { version: '1.0.0', name: 'foo' }), 'release v1.0.0 (foo)');
11
+ assert.equal(format('release v${version} (${name})', { version: '1.0.0', name: 'foo' }), 'release v1.0.0 (foo)');
11
12
  });
12
13
 
13
- test('format (throw)', t => {
14
+ test('format (throw)', () => {
14
15
  mockStdIo.start();
15
- t.throws(() => format('release v${foo}', { version: '1.0.0' }), { message: /foo is not defined/ });
16
+ assert.throws(() => format('release v${foo}', { version: '1.0.0' }), /foo is not defined/);
16
17
  const { stdout, stderr } = mockStdIo.end();
17
- t.is(stdout, '');
18
- t.regex(
19
- stripAnsi(stderr),
18
+ assert.equal(stdout, '');
19
+ assert.match(
20
+ stripVTControlCharacters(stderr),
20
21
  /ERROR Unable to render template with context:\s+release v\${foo}\s+{"version":"1\.0\.0"}\s+ERROR ReferenceError: foo is not defined/
21
22
  );
22
23
  });
23
24
 
24
- test('truncateLines', t => {
25
+ test('truncateLines', () => {
25
26
  const input = `1${EOL}2${EOL}3${EOL}4${EOL}5${EOL}6`;
26
- t.is(truncateLines(input), input);
27
- t.is(truncateLines(input, 3), `1${EOL}2${EOL}3${EOL}...and 3 more`);
28
- t.is(truncateLines(input, 1, '...'), `1...`);
27
+ assert.equal(truncateLines(input), input);
28
+ assert.equal(truncateLines(input, 3), `1${EOL}2${EOL}3${EOL}...and 3 more`);
29
+ assert.equal(truncateLines(input, 1, '...'), `1...`);
29
30
  });
30
31
 
31
- test('parseGitUrl', t => {
32
- t.deepEqual(parseGitUrl('https://github.com/webpro/release-it.git'), {
32
+ test('parseGitUrl', () => {
33
+ assert.deepEqual(parseGitUrl('https://github.com/webpro/release-it.git'), {
33
34
  host: 'github.com',
34
35
  owner: 'webpro',
35
36
  project: 'release-it',
@@ -38,7 +39,7 @@ test('parseGitUrl', t => {
38
39
  repository: 'webpro/release-it'
39
40
  });
40
41
 
41
- t.deepEqual(parseGitUrl('git@gitlab.com:org/sub-group/repo-in-sub-group.git'), {
42
+ assert.deepEqual(parseGitUrl('git@gitlab.com:org/sub-group/repo-in-sub-group.git'), {
42
43
  host: 'gitlab.com',
43
44
  owner: 'org/sub-group',
44
45
  project: 'repo-in-sub-group',
@@ -47,7 +48,7 @@ test('parseGitUrl', t => {
47
48
  repository: 'org/sub-group/repo-in-sub-group'
48
49
  });
49
50
 
50
- t.deepEqual(parseGitUrl('git@github.com:org/example.com.git'), {
51
+ assert.deepEqual(parseGitUrl('git@github.com:org/example.com.git'), {
51
52
  host: 'github.com',
52
53
  owner: 'org',
53
54
  project: 'example.com',
@@ -56,7 +57,7 @@ test('parseGitUrl', t => {
56
57
  repository: 'org/example.com'
57
58
  });
58
59
 
59
- t.deepEqual(parseGitUrl('file://Users/john/doe/owner/project'), {
60
+ assert.deepEqual(parseGitUrl('file://Users/john/doe/owner/project'), {
60
61
  host: 'users',
61
62
  owner: 'owner',
62
63
  project: 'project',
@@ -65,7 +66,7 @@ test('parseGitUrl', t => {
65
66
  repository: 'owner/project'
66
67
  });
67
68
 
68
- t.deepEqual(parseGitUrl('/Users/john/doe/owner/project'), {
69
+ assert.deepEqual(parseGitUrl('/Users/john/doe/owner/project'), {
69
70
  host: 'users',
70
71
  owner: 'owner',
71
72
  project: 'project',
@@ -74,7 +75,7 @@ test('parseGitUrl', t => {
74
75
  repository: 'owner/project'
75
76
  });
76
77
 
77
- t.deepEqual(parseGitUrl('C:\\\\Users\\john\\doe\\owner\\project'), {
78
+ assert.deepEqual(parseGitUrl('C:\\\\Users\\john\\doe\\owner\\project'), {
78
79
  host: 'users',
79
80
  owner: 'owner',
80
81
  project: 'project',
@@ -84,14 +85,14 @@ test('parseGitUrl', t => {
84
85
  });
85
86
  });
86
87
 
87
- test('parseVersion', t => {
88
- t.deepEqual(parseVersion(), { version: undefined, isPreRelease: false, preReleaseId: null });
89
- t.deepEqual(parseVersion(0), { version: '0.0.0', isPreRelease: false, preReleaseId: null });
90
- t.deepEqual(parseVersion(1), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
91
- t.deepEqual(parseVersion('1'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
92
- t.deepEqual(parseVersion('1.0'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
93
- t.deepEqual(parseVersion('1.0.0'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
94
- t.deepEqual(parseVersion('1.0.0-0'), { version: '1.0.0-0', isPreRelease: true, preReleaseId: null });
95
- t.deepEqual(parseVersion('1.0.0-next.1'), { version: '1.0.0-next.1', isPreRelease: true, preReleaseId: 'next' });
96
- t.deepEqual(parseVersion('21.04.1'), { version: '21.04.1', isPreRelease: false, preReleaseId: null });
88
+ test('parseVersion', () => {
89
+ assert.deepEqual(parseVersion(), { version: undefined, isPreRelease: false, preReleaseId: null });
90
+ assert.deepEqual(parseVersion(0), { version: '0.0.0', isPreRelease: false, preReleaseId: null });
91
+ assert.deepEqual(parseVersion(1), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
92
+ assert.deepEqual(parseVersion('1'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
93
+ assert.deepEqual(parseVersion('1.0'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
94
+ assert.deepEqual(parseVersion('1.0.0'), { version: '1.0.0', isPreRelease: false, preReleaseId: null });
95
+ assert.deepEqual(parseVersion('1.0.0-0'), { version: '1.0.0-0', isPreRelease: true, preReleaseId: null });
96
+ assert.deepEqual(parseVersion('1.0.0-next.1'), { version: '1.0.0-next.1', isPreRelease: true, preReleaseId: 'next' });
97
+ assert.deepEqual(parseVersion('21.04.1'), { version: '21.04.1', isPreRelease: false, preReleaseId: null });
97
98
  });
package/test/version.js CHANGED
@@ -1,201 +1,217 @@
1
- import test from 'ava';
2
- import sinon from 'sinon';
1
+ import test, { describe } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
3
  import Version from '../lib/plugin/version/Version.js';
4
4
  import { factory, runTasks } from './util/index.js';
5
5
 
6
- test('isValidVersion', t => {
7
- const v = factory(Version);
8
- t.is(v.isValid('1.0.0'), true);
9
- t.is(v.isValid(1.0), false);
10
- });
6
+ describe('version', () => {
7
+ test('isValidVersion', () => {
8
+ const v = factory(Version);
9
+ assert.equal(v.isValid('1.0.0'), true);
10
+ assert.equal(v.isValid(1.0), false);
11
+ });
11
12
 
12
- test('isPreRelease', t => {
13
- const v = factory(Version);
14
- t.is(v.isPreRelease('1.0.0-beta.0'), true);
15
- t.is(v.isPreRelease('1.0.0'), false);
16
- });
13
+ test('isPreRelease', () => {
14
+ const v = factory(Version);
15
+ assert.equal(v.isPreRelease('1.0.0-beta.0'), true);
16
+ assert.equal(v.isPreRelease('1.0.0'), false);
17
+ });
17
18
 
18
- test('should return the same version in both interactive and ci mode', async t => {
19
- const v = factory(Version);
20
- const options = { latestVersion: '2.0.0-beta.1', increment: null, preReleaseId: 'rc', isPreRelease: true };
21
- const resultInteractiveMode = await v.getIncrementedVersion(options);
22
- t.is(resultInteractiveMode, '2.0.0-rc.0');
23
- const resultCiMode = v.getIncrementedVersionCI(options);
24
- t.is(resultInteractiveMode, resultCiMode);
25
- });
19
+ test('should return the same version in both interactive and ci mode', async () => {
20
+ const v = factory(Version);
21
+ const options = { latestVersion: '2.0.0-beta.1', increment: null, preReleaseId: 'rc', isPreRelease: true };
22
+ const resultInteractiveMode = await v.getIncrementedVersion(options);
23
+ assert.equal(resultInteractiveMode, '2.0.0-rc.0');
24
+ const resultCiMode = v.getIncrementedVersionCI(options);
25
+ assert.equal(resultInteractiveMode, resultCiMode);
26
+ });
26
27
 
27
- test('should increment latest version', t => {
28
- const v = factory(Version);
29
- const latestVersion = '1.0.0';
30
- t.is(v.incrementVersion({ latestVersion, increment: false }), '1.0.0');
31
- t.is(v.incrementVersion({ latestVersion, increment: 'foo' }), undefined);
32
- t.is(v.incrementVersion({ latestVersion, increment: 'patsj' }), undefined);
33
- t.is(v.incrementVersion({ latestVersion, increment: 'a.b.c' }), undefined);
34
- t.is(v.incrementVersion({ latestVersion, increment: '0.9.0' }), undefined);
35
- t.is(v.incrementVersion({ latestVersion, increment: '1.1.0' }), '1.1.0');
36
- t.is(v.incrementVersion({ latestVersion, increment: 'major' }), '2.0.0');
37
- t.is(v.incrementVersion({ latestVersion, increment: '2.0.0-beta.1' }), '2.0.0-beta.1');
38
- });
28
+ test('should increment latest version', () => {
29
+ const v = factory(Version);
30
+ const latestVersion = '1.0.0';
31
+ assert.equal(v.incrementVersion({ latestVersion, increment: false }), '1.0.0');
32
+ assert.equal(v.incrementVersion({ latestVersion, increment: 'foo' }), undefined);
33
+ assert.equal(v.incrementVersion({ latestVersion, increment: 'patsj' }), undefined);
34
+ assert.equal(v.incrementVersion({ latestVersion, increment: 'a.b.c' }), undefined);
35
+ assert.equal(v.incrementVersion({ latestVersion, increment: '0.9.0' }), undefined);
36
+ assert.equal(v.incrementVersion({ latestVersion, increment: '1.1.0' }), '1.1.0');
37
+ assert.equal(v.incrementVersion({ latestVersion, increment: 'major' }), '2.0.0');
38
+ assert.equal(v.incrementVersion({ latestVersion, increment: '2.0.0-beta.1' }), '2.0.0-beta.1');
39
+ });
39
40
 
40
- test('should not increment latest version in interactive mode', t => {
41
- const v = factory(Version, { options: { ci: false } });
42
- const latestVersion = '1.0.0';
43
- t.is(v.incrementVersion({ latestVersion, increment: null }), undefined);
44
- t.is(v.incrementVersion({ latestVersion, increment: false }), '1.0.0');
45
- });
41
+ test('should not increment latest version in interactive mode', () => {
42
+ const v = factory(Version, { options: { ci: false } });
43
+ const latestVersion = '1.0.0';
44
+ assert.equal(v.incrementVersion({ latestVersion, increment: null }), undefined);
45
+ assert.equal(v.incrementVersion({ latestVersion, increment: false }), '1.0.0');
46
+ });
46
47
 
47
- test('should always set increment version in CI mode', t => {
48
- const v = factory(Version, { options: { ci: true } });
49
- const latestVersion = '1.0.0';
50
- t.is(v.getIncrementedVersionCI({ latestVersion, increment: false }), '1.0.0');
51
- t.is(v.getIncrementedVersionCI({ latestVersion, increment: null }), '1.0.1');
52
- t.is(v.getIncrementedVersionCI({ latestVersion, increment: '1.1.0' }), '1.1.0');
53
- t.is(v.getIncrementedVersionCI({ latestVersion, increment: 'major' }), '2.0.0');
54
- });
48
+ test('should always set increment version in CI mode', () => {
49
+ const v = factory(Version, { options: { ci: true } });
50
+ const latestVersion = '1.0.0';
51
+ assert.equal(v.getIncrementedVersionCI({ latestVersion, increment: false }), '1.0.0');
52
+ assert.equal(v.getIncrementedVersionCI({ latestVersion, increment: null }), '1.0.1');
53
+ assert.equal(v.getIncrementedVersionCI({ latestVersion, increment: '1.1.0' }), '1.1.0');
54
+ assert.equal(v.getIncrementedVersionCI({ latestVersion, increment: 'major' }), '2.0.0');
55
+ });
55
56
 
56
- test('should increment latest version (coerce)', t => {
57
- const v = factory(Version);
58
- t.is(v.incrementVersion({ increment: '1.2' }), '1.2.0');
59
- t.is(v.incrementVersion({ increment: '1' }), '1.0.0');
60
- t.is(v.incrementVersion({ increment: 'v1.2.0.0' }), '1.2.0');
61
- });
57
+ test('should increment latest version (coerce)', () => {
58
+ const v = factory(Version);
59
+ assert.equal(v.incrementVersion({ increment: '1.2' }), '1.2.0');
60
+ assert.equal(v.incrementVersion({ increment: '1' }), '1.0.0');
61
+ assert.equal(v.incrementVersion({ increment: 'v1.2.0.0' }), '1.2.0');
62
+ });
62
63
 
63
- test('should increment version (pre-release continuation)', t => {
64
- const v = factory(Version);
65
- t.is(v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prepatch' }), '1.2.4-0');
66
- });
64
+ test('should increment version (pre-release continuation)', () => {
65
+ const v = factory(Version);
66
+ assert.equal(v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prepatch' }), '1.2.4-0');
67
+ });
67
68
 
68
- test('should increment version (prepatch)', t => {
69
- const v = factory(Version);
70
- t.is(v.incrementVersion({ latestVersion: '1.2.3', increment: 'prepatch', preReleaseId: 'alpha' }), '1.2.4-alpha.0');
71
- });
69
+ test('should increment version (prepatch)', () => {
70
+ const v = factory(Version);
71
+ assert.equal(
72
+ v.incrementVersion({ latestVersion: '1.2.3', increment: 'prepatch', preReleaseId: 'alpha' }),
73
+ '1.2.4-alpha.0'
74
+ );
75
+ });
72
76
 
73
- test('should increment version (normalized)', t => {
74
- const v = factory(Version);
75
- t.is(
76
- v.incrementVersion({ latestVersion: '1.2.3', increment: 'patch', preReleaseId: 'alpha', isPreRelease: true }),
77
- '1.2.4-alpha.0'
78
- );
79
- });
77
+ test('should increment version (normalized)', () => {
78
+ const v = factory(Version);
79
+ assert.equal(
80
+ v.incrementVersion({ latestVersion: '1.2.3', increment: 'patch', preReleaseId: 'alpha', isPreRelease: true }),
81
+ '1.2.4-alpha.0'
82
+ );
83
+ });
80
84
 
81
- test('should increment version (prepatch on prerelease version)', t => {
82
- const v = factory(Version);
83
- t.is(
84
- v.incrementVersion({ latestVersion: '1.2.3-alpha.5', increment: 'prepatch', preReleaseId: 'next' }),
85
- '1.2.4-next.0'
86
- );
87
- });
85
+ test('should increment version (prepatch on prerelease version)', () => {
86
+ const v = factory(Version);
87
+ assert.equal(
88
+ v.incrementVersion({ latestVersion: '1.2.3-alpha.5', increment: 'prepatch', preReleaseId: 'next' }),
89
+ '1.2.4-next.0'
90
+ );
91
+ });
88
92
 
89
- test('should increment version (normalized on prerelease version)', t => {
90
- const v = factory(Version);
91
- t.is(
92
- v.incrementVersion({
93
- latestVersion: '1.2.3-alpha.5',
94
- increment: 'patch',
95
- preReleaseId: 'next',
96
- isPreRelease: true
97
- }),
98
- '1.2.4-next.0'
99
- );
100
- });
93
+ test('should increment version (normalized on prerelease version)', () => {
94
+ const v = factory(Version);
95
+ assert.equal(
96
+ v.incrementVersion({
97
+ latestVersion: '1.2.3-alpha.5',
98
+ increment: 'patch',
99
+ preReleaseId: 'next',
100
+ isPreRelease: true
101
+ }),
102
+ '1.2.4-next.0'
103
+ );
104
+ });
101
105
 
102
- test('should increment version (prerelease)', t => {
103
- const v = factory(Version);
104
- t.is(v.incrementVersion({ latestVersion: '1.2.3', increment: 'prerelease', preReleaseId: 'alpha' }), '1.2.4-alpha.0');
105
- });
106
+ test('should increment version (prerelease)', () => {
107
+ const v = factory(Version);
108
+ assert.equal(
109
+ v.incrementVersion({ latestVersion: '1.2.3', increment: 'prerelease', preReleaseId: 'alpha' }),
110
+ '1.2.4-alpha.0'
111
+ );
112
+ });
106
113
 
107
- test('should increment version (prerelease cont.)', t => {
108
- const v = factory(Version);
109
- t.is(v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prerelease' }), '1.2.3-alpha.1');
110
- });
114
+ test('should increment version (prerelease cont.)', () => {
115
+ const v = factory(Version);
116
+ assert.equal(v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prerelease' }), '1.2.3-alpha.1');
117
+ });
111
118
 
112
- test('should increment version (preReleaseId continuation)', t => {
113
- const v = factory(Version);
114
- t.is(
115
- v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prerelease', preReleaseId: 'alpha' }),
116
- '1.2.3-alpha.1'
117
- );
118
- });
119
+ test('should increment version (preReleaseId continuation)', () => {
120
+ const v = factory(Version);
121
+ assert.equal(
122
+ v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'prerelease', preReleaseId: 'alpha' }),
123
+ '1.2.3-alpha.1'
124
+ );
125
+ });
119
126
 
120
- test('should increment version (prepatch/preReleaseId continuation)', t => {
121
- const v = factory(Version);
122
- const options = { latestVersion: '1.2.3-beta.0', increment: 'prerelease', preReleaseId: 'beta', isPreRelease: true };
123
- t.is(v.incrementVersion(options), '1.2.3-beta.1');
124
- });
127
+ test('should increment version (prepatch/preReleaseId continuation)', () => {
128
+ const v = factory(Version);
129
+ const options = {
130
+ latestVersion: '1.2.3-beta.0',
131
+ increment: 'prerelease',
132
+ preReleaseId: 'beta',
133
+ isPreRelease: true
134
+ };
135
+ assert.equal(v.incrementVersion(options), '1.2.3-beta.1');
136
+ });
125
137
 
126
- test('should increment version (preReleaseId w/o preRelease)', t => {
127
- const v = factory(Version);
128
- t.is(v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'patch', preReleaseId: 'alpha' }), '1.2.3');
129
- });
138
+ test('should increment version (preReleaseId w/o preRelease)', () => {
139
+ const v = factory(Version);
140
+ assert.equal(
141
+ v.incrementVersion({ latestVersion: '1.2.3-alpha.0', increment: 'patch', preReleaseId: 'alpha' }),
142
+ '1.2.3'
143
+ );
144
+ });
130
145
 
131
- test('should increment version (non-numeric prepatch continuation)', t => {
132
- const v = factory(Version);
133
- t.is(v.incrementVersion({ latestVersion: '1.2.3-alpha', increment: 'prerelease' }), '1.2.3-alpha.0');
134
- });
146
+ test('should increment version (non-numeric prepatch continuation)', () => {
147
+ const v = factory(Version);
148
+ assert.equal(v.incrementVersion({ latestVersion: '1.2.3-alpha', increment: 'prerelease' }), '1.2.3-alpha.0');
149
+ });
135
150
 
136
- test('should increment version (patch release after pre-release)', t => {
137
- const v = factory(Version);
138
- t.is(v.incrementVersion({ latestVersion: '1.2.3-alpha.1', increment: 'patch' }), '1.2.3');
139
- });
151
+ test('should increment version (patch release after pre-release)', () => {
152
+ const v = factory(Version);
153
+ assert.equal(v.incrementVersion({ latestVersion: '1.2.3-alpha.1', increment: 'patch' }), '1.2.3');
154
+ });
140
155
 
141
- test('should increment version and start at base 1', t => {
142
- const v = factory(Version);
143
- t.is(
144
- v.incrementVersion({
145
- latestVersion: '1.3.0',
146
- increment: 'major',
147
- isPreRelease: true,
148
- preReleaseId: 'beta',
149
- preReleaseBase: '1'
150
- }),
151
- '2.0.0-beta.1'
152
- );
153
- });
156
+ test('should increment version and start at base 1', () => {
157
+ const v = factory(Version);
158
+ assert.equal(
159
+ v.incrementVersion({
160
+ latestVersion: '1.3.0',
161
+ increment: 'major',
162
+ isPreRelease: true,
163
+ preReleaseId: 'beta',
164
+ preReleaseBase: '1'
165
+ }),
166
+ '2.0.0-beta.1'
167
+ );
168
+ });
154
169
 
155
- test('should increment prerelease version and ignore prelease base 1', t => {
156
- const v = factory(Version);
157
- t.is(
158
- v.incrementVersion({
159
- latestVersion: '1.2.3-alpha.5',
160
- increment: 'prerelease',
161
- preReleaseId: 'alpha',
162
- isPreRelease: true,
163
- preReleaseBase: '1'
164
- }),
165
- '1.2.3-alpha.6'
166
- );
167
- });
170
+ test('should increment prerelease version and ignore prelease base 1', () => {
171
+ const v = factory(Version);
172
+ assert.equal(
173
+ v.incrementVersion({
174
+ latestVersion: '1.2.3-alpha.5',
175
+ increment: 'prerelease',
176
+ preReleaseId: 'alpha',
177
+ isPreRelease: true,
178
+ preReleaseBase: '1'
179
+ }),
180
+ '1.2.3-alpha.6'
181
+ );
182
+ });
168
183
 
169
- test('should run tasks without errors', async t => {
170
- const options = { version: { increment: 'minor' } };
171
- const v = factory(Version, { options });
172
- const getIncrement = sinon.spy(v, 'getIncrement');
173
- const getIncrementedVersionCI = sinon.spy(v, 'getIncrementedVersionCI');
174
- const incrementVersion = sinon.spy(v, 'incrementVersion');
175
-
176
- await runTasks(v);
177
-
178
- t.is(getIncrement.callCount, 1);
179
- t.deepEqual(getIncrement.firstCall.args[0], { increment: 'minor' });
180
- t.is(getIncrementedVersionCI.callCount, 1);
181
- t.deepEqual(getIncrementedVersionCI.firstCall.args[0], {
182
- latestVersion: '1.0.0',
183
- increment: 'minor',
184
- isPreRelease: false,
185
- preReleaseId: null
186
- });
187
- t.is(await incrementVersion.firstCall.returnValue, '1.1.0');
188
- t.is(incrementVersion.callCount, 1);
189
- t.deepEqual(incrementVersion.firstCall.args[0], {
190
- latestVersion: '1.0.0',
191
- increment: 'minor',
192
- isPreRelease: false,
193
- preReleaseId: null
194
- });
195
- t.is(incrementVersion.firstCall.returnValue, '1.1.0');
196
- const { latestVersion, version, isPreRelease, preReleaseId } = v.config.getContext();
197
- t.is(latestVersion, '1.0.0');
198
- t.is(version, '1.1.0');
199
- t.is(isPreRelease, false);
200
- t.is(preReleaseId, null);
184
+ test('should run tasks without errors', async t => {
185
+ const options = { version: { increment: 'minor' } };
186
+ const v = factory(Version, { options });
187
+ const getIncrement = t.mock.method(v, 'getIncrement');
188
+ const getIncrementedVersionCI = t.mock.method(v, 'getIncrementedVersionCI');
189
+ const incrementVersion = t.mock.method(v, 'incrementVersion');
190
+
191
+ await runTasks(v);
192
+
193
+ assert.equal(getIncrement.mock.callCount(), 1);
194
+ assert.deepEqual(getIncrement.mock.calls[0].arguments[0], { increment: 'minor' });
195
+ assert.equal(getIncrementedVersionCI.mock.callCount(), 1);
196
+ assert.deepEqual(getIncrementedVersionCI.mock.calls[0].arguments[0], {
197
+ latestVersion: '1.0.0',
198
+ increment: 'minor',
199
+ isPreRelease: false,
200
+ preReleaseId: null
201
+ });
202
+ assert.equal(await incrementVersion.mock.calls[0].result, '1.1.0');
203
+ assert.equal(incrementVersion.mock.callCount(), 1);
204
+ assert.deepEqual(incrementVersion.mock.calls[0].arguments[0], {
205
+ latestVersion: '1.0.0',
206
+ increment: 'minor',
207
+ isPreRelease: false,
208
+ preReleaseId: null
209
+ });
210
+ assert.equal(incrementVersion.mock.calls[0].result, '1.1.0');
211
+ const { latestVersion, version, isPreRelease, preReleaseId } = v.config.getContext();
212
+ assert.equal(latestVersion, '1.0.0');
213
+ assert.equal(version, '1.1.0');
214
+ assert.equal(isPreRelease, false);
215
+ assert.equal(preReleaseId, null);
216
+ });
201
217
  });
@@ -1,3 +0,0 @@
1
- import nock from 'nock';
2
-
3
- nock.disableNetConnect();