@@ -181,8 +181,23 @@ test.serial('Publish the package', async t => {
181181 const pkg = { name : 'publish' , version : '0.0.0' , publishConfig : { registry : npmRegistry . url } } ;
182182 await outputJson ( './package.json' , pkg ) ;
183183
184- await t . context . m . publish ( { } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
184+ const result = await t . context . m . publish ( { } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
185185
186+ t . deepEqual ( result , { name : 'npm package (@latest dist-tag)' , url : undefined } ) ;
187+ t . is ( ( await readJson ( './package.json' ) ) . version , '1.0.0' ) ;
188+ t . false ( await pathExists ( `./${ pkg . name } -1.0.0.tgz` ) ) ;
189+ t . is ( ( await execa ( 'npm' , [ 'view' , pkg . name , 'version' ] ) ) . stdout , '1.0.0' ) ;
190+ } ) ;
191+
192+ test . serial ( 'Publish the package on a dist-tag' , async t => {
193+ Object . assign ( process . env , npmRegistry . authEnv ) ;
194+ process . env . DEFAULT_NPM_REGISTRY = npmRegistry . url ;
195+ const pkg = { name : 'publish-tag' , version : '0.0.0' , publishConfig : { registry : npmRegistry . url , tag : 'next' } } ;
196+ await outputJson ( './package.json' , pkg ) ;
197+
198+ const result = await t . context . m . publish ( { } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
199+
200+ t . deepEqual ( result , { name : 'npm package (@next dist-tag)' , url : 'https://www.npmjs.com/package/publish-tag' } ) ;
186201 t . is ( ( await readJson ( './package.json' ) ) . version , '1.0.0' ) ;
187202 t . false ( await pathExists ( `./${ pkg . name } -1.0.0.tgz` ) ) ;
188203 t . is ( ( await execa ( 'npm' , [ 'view' , pkg . name , 'version' ] ) ) . stdout , '1.0.0' ) ;
@@ -193,8 +208,12 @@ test.serial('Publish the package from a sub-directory', async t => {
193208 const pkg = { name : 'publish-sub-dir' , version : '0.0.0' , publishConfig : { registry : npmRegistry . url } } ;
194209 await outputJson ( './dist/package.json' , pkg ) ;
195210
196- await t . context . m . publish ( { pkgRoot : 'dist' } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
211+ const result = await t . context . m . publish (
212+ { pkgRoot : 'dist' } ,
213+ { logger : t . context . logger , nextRelease : { version : '1.0.0' } }
214+ ) ;
197215
216+ t . deepEqual ( result , { name : 'npm package (@latest dist-tag)' , url : undefined } ) ;
198217 t . is ( ( await readJson ( './dist/package.json' ) ) . version , '1.0.0' ) ;
199218 t . false ( await pathExists ( `./${ pkg . name } -1.0.0.tgz` ) ) ;
200219 t . is ( ( await execa ( 'npm' , [ 'view' , pkg . name , 'version' ] ) ) . stdout , '1.0.0' ) ;
@@ -211,11 +230,12 @@ test.serial('Create the package and skip publish', async t => {
211230 const pkg = { name : 'skip-publish' , version : '0.0.0' , publishConfig : { registry : npmRegistry . url } } ;
212231 await outputJson ( './package.json' , pkg ) ;
213232
214- await t . context . m . publish (
233+ const result = await t . context . m . publish (
215234 { npmPublish : false , tarballDir : 'tarball' } ,
216235 { logger : t . context . logger , nextRelease : { version : '1.0.0' } }
217236 ) ;
218237
238+ t . deepEqual ( result , { name : 'npm package (@latest dist-tag)' , url : undefined } ) ;
219239 t . is ( ( await readJson ( './package.json' ) ) . version , '1.0.0' ) ;
220240 t . true ( await pathExists ( `./tarball/${ pkg . name } -1.0.0.tgz` ) ) ;
221241 await t . throws ( execa ( 'npm' , [ 'view' , pkg . name , 'version' ] ) ) ;
@@ -226,11 +246,12 @@ test.serial('Create the package and skip publish from a sub-directory', async t
226246 const pkg = { name : 'skip-publish-sub-dir' , version : '0.0.0' , publishConfig : { registry : npmRegistry . url } } ;
227247 await outputJson ( './dist/package.json' , pkg ) ;
228248
229- await t . context . m . publish (
249+ const result = await t . context . m . publish (
230250 { npmPublish : false , tarballDir : './tarball' , pkgRoot : './dist' } ,
231251 { logger : t . context . logger , nextRelease : { version : '1.0.0' } }
232252 ) ;
233253
254+ t . deepEqual ( result , { name : 'npm package (@latest dist-tag)' , url : undefined } ) ;
234255 t . is ( ( await readJson ( './dist/package.json' ) ) . version , '1.0.0' ) ;
235256 t . true ( await pathExists ( `./tarball/${ pkg . name } -1.0.0.tgz` ) ) ;
236257 await t . throws ( execa ( 'npm' , [ 'view' , pkg . name , 'version' ] ) ) ;
@@ -243,5 +264,6 @@ test.serial('Verify token and set up auth only on the fist call', async t => {
243264
244265 await t . notThrows ( t . context . m . verifyConditions ( { } , { options : { } , logger : t . context . logger } ) ) ;
245266
246- await t . context . m . publish ( { } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
267+ const result = await t . context . m . publish ( { } , { logger : t . context . logger , nextRelease : { version : '1.0.0' } } ) ;
268+ t . deepEqual ( result , { name : 'npm package (@latest dist-tag)' , url : undefined } ) ;
247269} ) ;
0 commit comments