@@ -8,30 +8,82 @@ describe('npm-packages publishNpmPackages', function () {
8
8
let listNpmPackages : SinonStub ;
9
9
let markBumpedFilesAsAssumeUnchanged : SinonStub ;
10
10
let spawnSync : SinonStub ;
11
+ const lernaBin = path . resolve (
12
+ __dirname ,
13
+ '..' ,
14
+ '..' ,
15
+ '..' ,
16
+ '..' ,
17
+ 'node_modules' ,
18
+ '.bin' ,
19
+ 'lerna'
20
+ ) ;
11
21
12
22
beforeEach ( function ( ) {
13
23
listNpmPackages = sinon . stub ( ) ;
14
24
markBumpedFilesAsAssumeUnchanged = sinon . stub ( ) ;
15
25
spawnSync = sinon . stub ( ) ;
16
26
} ) ;
17
27
18
- it ( 'calls lerna to publish packages for a real version' , function ( ) {
19
- const lernaBin = path . resolve (
20
- __dirname ,
21
- '..' ,
22
- '..' ,
23
- '..' ,
24
- '..' ,
25
- 'node_modules' ,
26
- '.bin' ,
27
- 'lerna'
28
- ) ;
28
+ it ( 'throws if mongosh is not existent when publishing all' , function ( ) {
29
29
const packages = [ { name : 'packageA' , version : '0.7.0' } ] ;
30
30
listNpmPackages . returns ( packages ) ;
31
31
32
+ expect ( ( ) =>
33
+ publishNpmPackages (
34
+ { isDryRun : false , useAuxiliaryPackagesOnly : false } ,
35
+ listNpmPackages ,
36
+ markBumpedFilesAsAssumeUnchanged ,
37
+ spawnSync
38
+ )
39
+ ) . throws ( 'mongosh package not found' ) ;
40
+ } ) ;
41
+
42
+ it ( 'takes mongosh version and pushes tags' , function ( ) {
43
+ const packages = [
44
+ { name : 'packageA' , version : '0.7.0' } ,
45
+ { name : 'mongosh' , version : '1.2.0' } ,
46
+ ] ;
47
+ listNpmPackages . returns ( packages ) ;
48
+
49
+ publishNpmPackages (
50
+ { isDryRun : false , useAuxiliaryPackagesOnly : false } ,
51
+ listNpmPackages ,
52
+ markBumpedFilesAsAssumeUnchanged ,
53
+ spawnSync
54
+ ) ;
55
+
56
+ expect ( spawnSync ) . calledWith ( 'git' , [ 'tag' , '-a' , '1.2.0' , '-m' , '1.2.0' ] ) ;
57
+ expect ( spawnSync ) . calledWith ( 'git' , [ 'push' , '--follow-tags' ] ) ;
58
+ } ) ;
59
+
60
+ it ( 'does not manually push tags with auxiliary packages' , function ( ) {
61
+ const packages = [
62
+ { name : 'packageA' , version : '0.7.0' } ,
63
+ { name : 'mongosh' , version : '1.2.0' } ,
64
+ ] ;
65
+ listNpmPackages . returns ( packages ) ;
66
+
67
+ publishNpmPackages (
68
+ { isDryRun : false , useAuxiliaryPackagesOnly : true } ,
69
+ listNpmPackages ,
70
+ markBumpedFilesAsAssumeUnchanged ,
71
+ spawnSync
72
+ ) ;
73
+
74
+ expect ( spawnSync ) . calledWith ( 'git' , [ 'tag' , '-a' , '1.2.0' , '-m' , '1.2.0' ] ) ;
75
+ expect ( spawnSync ) . calledWith ( 'git' , [ 'push' , '--follow-tags' ] ) ;
76
+ } ) ;
77
+
78
+ it ( 'calls lerna to publish packages for a real version' , function ( ) {
79
+ const packages = [
80
+ { name : 'packageA' , version : '0.7.0' } ,
81
+ { name : 'mongosh' , version : '1.2.0' } ,
82
+ ] ;
83
+ listNpmPackages . returns ( packages ) ;
84
+
32
85
publishNpmPackages (
33
- false ,
34
- false ,
86
+ { isDryRun : false , useAuxiliaryPackagesOnly : false } ,
35
87
listNpmPackages ,
36
88
markBumpedFilesAsAssumeUnchanged ,
37
89
spawnSync
@@ -48,10 +100,7 @@ describe('npm-packages publishNpmPackages', function () {
48
100
'from-package' ,
49
101
'--no-private' ,
50
102
'--no-changelog' ,
51
- '--no-push' ,
52
103
'--exact' ,
53
- '--no-git-tag-version' ,
54
- '--force-publish' ,
55
104
'--yes' ,
56
105
'--no-verify-access' ,
57
106
] ,
@@ -70,8 +119,7 @@ describe('npm-packages publishNpmPackages', function () {
70
119
71
120
try {
72
121
publishNpmPackages (
73
- false ,
74
- false ,
122
+ { isDryRun : false , useAuxiliaryPackagesOnly : false } ,
75
123
listNpmPackages ,
76
124
markBumpedFilesAsAssumeUnchanged ,
77
125
spawnSync
0 commit comments