@@ -11,21 +11,29 @@ describe('VersionPolicy', () => {
1111 describe ( 'LockStepVersion' , ( ) => {
1212 const filename : string = path . resolve ( __dirname , 'jsonFiles' , 'rushWithLockVersion.json' ) ;
1313 const versionPolicyConfig : VersionPolicyConfiguration = new VersionPolicyConfiguration ( filename ) ;
14- let versionPolicy : VersionPolicy ;
14+ let versionPolicy1 : VersionPolicy ;
15+ let versionPolicy2 : VersionPolicy ;
1516
1617 beforeEach ( ( ) => {
17- versionPolicy = versionPolicyConfig . getVersionPolicy ( 'testPolicy1' ) ;
18+ versionPolicy1 = versionPolicyConfig . getVersionPolicy ( 'testPolicy1' ) ;
19+ versionPolicy2 = versionPolicyConfig . getVersionPolicy ( 'testPolicy2' ) ;
1820 } ) ;
1921
2022 it ( 'loads configuration.' , ( ) => {
21- expect ( versionPolicy ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
22- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
23- expect ( lockStepVersionPolicy . version ) . toEqual ( '1.1.0' ) ;
24- expect ( lockStepVersionPolicy . nextBump ) . toEqual ( BumpType . patch ) ;
23+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
24+ const lockStepVersionPolicy1 : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
25+ expect ( lockStepVersionPolicy1 . version ) . toEqual ( '1.1.0' ) ;
26+ expect ( lockStepVersionPolicy1 . nextBump ) . toEqual ( BumpType . patch ) ;
27+
28+ expect ( versionPolicy2 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
29+ const lockStepVersionPolicy2 : LockStepVersionPolicy = versionPolicy2 as LockStepVersionPolicy ;
30+ expect ( lockStepVersionPolicy2 . version ) . toEqual ( '1.2.0' ) ;
31+ expect ( lockStepVersionPolicy2 . nextBump ) . toEqual ( undefined ) ;
2532 } ) ;
2633
2734 it ( 'skips packageJson if version is already the locked step version' , ( ) => {
28- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
35+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
36+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
2937 expect (
3038 lockStepVersionPolicy . ensure ( {
3139 name : 'a' ,
@@ -35,7 +43,8 @@ describe('VersionPolicy', () => {
3543 } ) ;
3644
3745 it ( 'updates packageJson if version is lower than the locked step version' , ( ) => {
38- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
46+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
47+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
3948 const expectedPackageJson : IPackageJson = {
4049 name : 'a' ,
4150 version : '1.1.0'
@@ -48,7 +57,8 @@ describe('VersionPolicy', () => {
4857 } ) ;
4958
5059 it ( 'throws exception if version is higher than the locked step version' , ( ) => {
51- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
60+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
61+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
5262 const originalPackageJson : IPackageJson = {
5363 name : 'a' ,
5464 version : '2.1.0'
@@ -59,7 +69,8 @@ describe('VersionPolicy', () => {
5969 } ) ;
6070
6171 it ( 'update version with force if version is higher than the locked step version' , ( ) => {
62- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
72+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
73+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
6374 const originalPackageJson : IPackageJson = {
6475 name : 'a' ,
6576 version : '2.1.0'
@@ -71,22 +82,34 @@ describe('VersionPolicy', () => {
7182 expect ( lockStepVersionPolicy . ensure ( originalPackageJson , true ) ) . toEqual ( expectedPackageJson ) ;
7283 } ) ;
7384
85+ it ( 'doesnt bump version if nextBump is undefined' , ( ) => {
86+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
87+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy2 as LockStepVersionPolicy ;
88+ expect ( lockStepVersionPolicy . nextBump ) . toEqual ( undefined ) ;
89+ lockStepVersionPolicy . bump ( ) ;
90+ expect ( lockStepVersionPolicy . version ) . toEqual ( '1.2.0' ) ;
91+ expect ( lockStepVersionPolicy . nextBump ) . toEqual ( undefined ) ;
92+ } ) ;
93+
7494 it ( 'bumps version for preminor release' , ( ) => {
75- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
95+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
96+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
7697 lockStepVersionPolicy . bump ( BumpType . preminor , 'pr' ) ;
7798 expect ( lockStepVersionPolicy . version ) . toEqual ( '1.2.0-pr.0' ) ;
7899 expect ( lockStepVersionPolicy . nextBump ) . toEqual ( BumpType . patch ) ;
79100 } ) ;
80101
81102 it ( 'bumps version for minor release' , ( ) => {
82- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
103+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
104+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
83105 lockStepVersionPolicy . bump ( BumpType . minor ) ;
84106 expect ( lockStepVersionPolicy . version ) . toEqual ( '1.2.0' ) ;
85107 expect ( lockStepVersionPolicy . nextBump ) . toEqual ( BumpType . patch ) ;
86108 } ) ;
87109
88110 it ( 'can update version directly' , ( ) => {
89- const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy as LockStepVersionPolicy ;
111+ expect ( versionPolicy1 ) . toBeInstanceOf ( LockStepVersionPolicy ) ;
112+ const lockStepVersionPolicy : LockStepVersionPolicy = versionPolicy1 as LockStepVersionPolicy ;
90113 const newVersion : string = '1.5.6-beta.0' ;
91114 lockStepVersionPolicy . update ( newVersion ) ;
92115 expect ( lockStepVersionPolicy . version ) . toEqual ( newVersion ) ;
0 commit comments