@@ -63,6 +63,50 @@ describe("NPM package - success tests", () => {
6363 npm . assert . ran ( 4 ) ;
6464 } ) ;
6565
66+ it ( "should publish a new version to NPM if no package exists" , async ( ) => {
67+ files . create ( [
68+ { path : "workspace/package.json" , contents : { name : "my-lib" , version : "2.0.0" } } ,
69+ ] ) ;
70+
71+ npm . mock ( {
72+ args : [ "config" , "get" , "userconfig" ] ,
73+ stdout : `${ paths . npmrc } ${ EOL } ` ,
74+ } ) ;
75+
76+ npm . mock ( {
77+ args : [ "view" , "my-lib" , "version" ] ,
78+ stdout : `${ EOL } ` ,
79+ stderr : `npm ERR! code E404${ EOL } `
80+ } ) ;
81+
82+ npm . mock ( {
83+ args : [ "config" , "get" , "userconfig" ] ,
84+ stdout : `${ paths . npmrc } ${ EOL } ` ,
85+ } ) ;
86+
87+ npm . mock ( {
88+ args : [ "publish" ] ,
89+ stdout : `my-lib 2.0.0${ EOL } ` ,
90+ } ) ;
91+
92+ let results = await npmPublish ( { quiet : true } ) ;
93+
94+ expect ( results ) . to . deep . equal ( {
95+ type : "major" ,
96+ package : "my-lib" ,
97+ version : "2.0.0" ,
98+ oldVersion : "0.0.0" ,
99+ dryRun : false ,
100+ } ) ;
101+
102+ files . assert . contents ( "home/.npmrc" ,
103+ `//registry.npmjs.org/:_authToken=\${INPUT_TOKEN}${ EOL } ` +
104+ `registry=https://registry.npmjs.org/${ EOL } `
105+ ) ;
106+
107+ npm . assert . ran ( 4 ) ;
108+ } ) ;
109+
66110 it ( "should not publish a new version to NPM if the version number hasn't changed" , async ( ) => {
67111 files . create ( [
68112 { path : "workspace/package.json" , contents : { name : "my-lib" , version : "1.0.0" } } ,
0 commit comments