@@ -18,6 +18,7 @@ function tmpfile(): string {
18
18
}
19
19
20
20
beforeEach ( ( ) => {
21
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockRejectedValue ( new Error ( 'expected version cache to be used, but call to npm was attempted' ) ) ;
21
22
process . chdir ( os . tmpdir ( ) ) ; // Need a chdir because in the workspace 'npm view' will take a long time
22
23
} ) ;
23
24
@@ -53,6 +54,7 @@ test('Skip version check if cache has not expired', async () => {
53
54
54
55
test ( 'Return later version when exists & skip recent re-check' , async ( ) => {
55
56
const cache = new VersionCheckTTL ( tmpfile ( ) , 100 ) ;
57
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValueOnce ( '1.1.0' ) ;
56
58
const result = await latestVersionIfHigher ( '0.0.0' , cache ) ;
57
59
expect ( result ) . not . toBeNull ( ) ;
58
60
expect ( ( result as string ) . length ) . toBeGreaterThan ( 0 ) ;
@@ -63,6 +65,7 @@ test('Return later version when exists & skip recent re-check', async () => {
63
65
64
66
test ( 'Return null if version is higher than npm' , async ( ) => {
65
67
const cache = new VersionCheckTTL ( tmpfile ( ) , 100 ) ;
68
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValueOnce ( '1.1.0' ) ;
66
69
const result = await latestVersionIfHigher ( '100.100.100' , cache ) ;
67
70
expect ( result ) . toBeNull ( ) ;
68
71
} ) ;
@@ -104,7 +107,7 @@ describe('version message', () => {
104
107
test ( 'Prints a message when a new version is available' , async ( ) => {
105
108
// Given the current version is 1.0.0 and the latest version is 1.1.0
106
109
const currentVersion = '1.0.0' ;
107
- jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValue ( '1.1.0' ) ;
110
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValueOnce ( '1.1.0' ) ;
108
111
const printSpy = jest . spyOn ( logging , 'info' ) ;
109
112
110
113
// When displayVersionMessage is called
@@ -117,7 +120,7 @@ describe('version message', () => {
117
120
test ( 'Includes major upgrade documentation when available' , async ( ) => {
118
121
// Given the current version is 1.0.0 and the latest version is 2.0.0
119
122
const currentVersion = '1.0.0' ;
120
- jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValue ( '2.0.0' ) ;
123
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValueOnce ( '2.0.0' ) ;
121
124
const printSpy = jest . spyOn ( logging , 'info' ) ;
122
125
123
126
// When displayVersionMessage is called
@@ -130,7 +133,7 @@ describe('version message', () => {
130
133
test ( 'Does not include major upgrade documentation when unavailable' , async ( ) => {
131
134
// Given current version is 99.0.0 and the latest version is 100.0.0
132
135
const currentVersion = '99.0.0' ;
133
- jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValue ( '100.0.0' ) ;
136
+ jest . spyOn ( npm , 'getLatestVersionFromNpm' ) . mockResolvedValueOnce ( '100.0.0' ) ;
134
137
const printSpy = jest . spyOn ( logging , 'info' ) ;
135
138
136
139
// When displayVersionMessage is called
0 commit comments