@@ -75,61 +75,76 @@ describe('Node', () => {
7575 sandbox . restore ( ) ;
7676 } ) ;
7777 describe ( 'getOpenPROptions' , ( ) => {
78- it ( 'returns release PR changes with defaultInitialVersion' , async ( ) => {
79- const expectedVersion = '1.0.0' ;
80- const pkgName = 'node-test-repo' ;
81- const releasePR = new Node ( {
82- github : new GitHub ( { owner : 'googleapis' , repo : 'node-test-repo' } ) ,
83- } ) ;
84- mockRequest ( releasePR ) ;
85- // for Node.getPackageName
86- stubFilesToUpdate ( releasePR . gh , [ 'package.json' ] ) ;
87-
88- // no latestTag to pass to getOpenPROptions (never found a release)
89- // releaser should set defaultInitialVersion
90- const openPROptions = await releasePR . getOpenPROptions ( COMMITS ) ;
91-
92- expect ( openPROptions ) . to . not . be . undefined ;
93- expect ( openPROptions ) . to . have . property ( 'sha' ) . equal ( COMMITS [ 0 ] . sha ) ;
94- expect ( openPROptions ) . to . have . property ( 'version' ) . equal ( expectedVersion ) ;
95- expect ( openPROptions ) . to . have . property ( 'includePackageName' ) . to . be . false ;
96- expect ( openPROptions ) . to . have . property ( 'changelogEntry' ) ;
97-
98- snapshot ( dateSafe ( openPROptions ! . changelogEntry ) ) ;
99-
100- const perUpdateChangelog = openPROptions ! . changelogEntry . substring (
101- 0 ,
102- openPROptions ! . changelogEntry . length - 5 // no trailing "\n---\n"
78+ const testDefaultInitialVersion = [
79+ { version : '1.0.0' , bumpMinorPreMajor : false } ,
80+ { version : '0.1.0' , bumpMinorPreMajor : true } ,
81+ ] ;
82+ testDefaultInitialVersion . forEach ( element => {
83+ it (
84+ `returns release PR changes with defaultInitialVersion ${ element . version } , ` +
85+ `when bumpMinorPreMajor is ${ element . bumpMinorPreMajor } ` ,
86+ async ( ) => {
87+ const expectedVersion = element . version ;
88+ const pkgName = 'node-test-repo' ;
89+ const releasePR = new Node ( {
90+ github : new GitHub ( { owner : 'googleapis' , repo : 'node-test-repo' } ) ,
91+ bumpMinorPreMajor : element . bumpMinorPreMajor ,
92+ } ) ;
93+ mockRequest ( releasePR ) ;
94+ // for Node.getPackageName
95+ stubFilesToUpdate ( releasePR . gh , [ 'package.json' ] ) ;
96+
97+ // no latestTag to pass to getOpenPROptions (never found a release)
98+ // releaser should set defaultInitialVersion
99+ const openPROptions = await releasePR . getOpenPROptions ( COMMITS ) ;
100+
101+ expect ( openPROptions ) . to . not . be . undefined ;
102+ expect ( openPROptions ) . to . have . property ( 'sha' ) . equal ( COMMITS [ 0 ] . sha ) ;
103+ expect ( openPROptions )
104+ . to . have . property ( 'version' )
105+ . equal ( expectedVersion ) ;
106+ expect ( openPROptions ) . to . have . property ( 'includePackageName' ) . to . be
107+ . false ;
108+ expect ( openPROptions ) . to . have . property ( 'changelogEntry' ) ;
109+
110+ snapshot ( dateSafe ( openPROptions ! . changelogEntry ) ) ;
111+
112+ const perUpdateChangelog = openPROptions ! . changelogEntry . substring (
113+ 0 ,
114+ openPROptions ! . changelogEntry . length - 5 // no trailing "\n---\n"
115+ ) ;
116+ expect ( openPROptions )
117+ . to . have . property ( 'updates' )
118+ . to . eql ( [
119+ new PackageJson ( {
120+ path : 'package-lock.json' ,
121+ changelogEntry : perUpdateChangelog ,
122+ version : expectedVersion ,
123+ packageName : pkgName ,
124+ } ) ,
125+ new SamplesPackageJson ( {
126+ path : 'samples/package.json' ,
127+ changelogEntry : perUpdateChangelog ,
128+ version : expectedVersion ,
129+ packageName : pkgName ,
130+ } ) ,
131+ new Changelog ( {
132+ path : 'CHANGELOG.md' ,
133+ changelogEntry : perUpdateChangelog ,
134+ version : expectedVersion ,
135+ packageName : pkgName ,
136+ } ) ,
137+ new PackageJson ( {
138+ path : 'package.json' ,
139+ changelogEntry : perUpdateChangelog ,
140+ version : expectedVersion ,
141+ packageName : pkgName ,
142+ } ) ,
143+ ] ) ;
144+ }
103145 ) ;
104- expect ( openPROptions )
105- . to . have . property ( 'updates' )
106- . to . eql ( [
107- new PackageJson ( {
108- path : 'package-lock.json' ,
109- changelogEntry : perUpdateChangelog ,
110- version : expectedVersion ,
111- packageName : pkgName ,
112- } ) ,
113- new SamplesPackageJson ( {
114- path : 'samples/package.json' ,
115- changelogEntry : perUpdateChangelog ,
116- version : expectedVersion ,
117- packageName : pkgName ,
118- } ) ,
119- new Changelog ( {
120- path : 'CHANGELOG.md' ,
121- changelogEntry : perUpdateChangelog ,
122- version : expectedVersion ,
123- packageName : pkgName ,
124- } ) ,
125- new PackageJson ( {
126- path : 'package.json' ,
127- changelogEntry : perUpdateChangelog ,
128- version : expectedVersion ,
129- packageName : pkgName ,
130- } ) ,
131- ] ) ;
132146 } ) ;
147+
133148 it ( 'returns release PR changes with semver patch bump' , async ( ) => {
134149 const expectedVersion = '0.123.5' ;
135150 const pkgName = 'node-test-repo' ;
0 commit comments