@@ -86,17 +86,22 @@ t.afterEach(() => {
86
86
WRITE_ERROR = null
87
87
} )
88
88
89
+ const runUpdateNotifier = async npm => {
90
+ await updateNotifier ( npm )
91
+ return npm . updateNotification
92
+ }
93
+
89
94
t . test ( 'situations in which we do not notify' , t => {
90
95
t . test ( 'nothing to do if notifier disabled' , async t => {
91
- t . equal ( await updateNotifier ( {
96
+ t . equal ( await runUpdateNotifier ( {
92
97
...npm ,
93
98
config : { get : ( k ) => k !== 'update-notifier' } ,
94
99
} ) , null )
95
100
t . strictSame ( MANIFEST_REQUEST , [ ] , 'no requests for manifests' )
96
101
} )
97
102
98
103
t . test ( 'do not suggest update if already updating' , async t => {
99
- t . equal ( await updateNotifier ( {
104
+ t . equal ( await runUpdateNotifier ( {
100
105
...npm ,
101
106
flatOptions : { ...flatOptions , global : true } ,
102
107
command : 'install' ,
@@ -106,7 +111,7 @@ t.test('situations in which we do not notify', t => {
106
111
} )
107
112
108
113
t . test ( 'do not suggest update if already updating with spec' , async t => {
109
- t . equal ( await updateNotifier ( {
114
+ t . equal ( await runUpdateNotifier ( {
110
115
...npm ,
111
116
flatOptions : { ...flatOptions , global : true } ,
112
117
command : 'install' ,
@@ -116,31 +121,31 @@ t.test('situations in which we do not notify', t => {
116
121
} )
117
122
118
123
t . test ( 'do not update if same as latest' , async t => {
119
- t . equal ( await updateNotifier ( npm ) , null )
124
+ t . equal ( await runUpdateNotifier ( npm ) , null )
120
125
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' ] , 'requested latest version' )
121
126
} )
122
127
t . test ( 'check if stat errors (here for coverage)' , async t => {
123
128
STAT_ERROR = new Error ( 'blorg' )
124
- t . equal ( await updateNotifier ( npm ) , null )
129
+ t . equal ( await runUpdateNotifier ( npm ) , null )
125
130
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' ] , 'requested latest version' )
126
131
} )
127
132
t . test ( 'ok if write errors (here for coverage)' , async t => {
128
133
WRITE_ERROR = new Error ( 'grolb' )
129
- t . equal ( await updateNotifier ( npm ) , null )
134
+ t . equal ( await runUpdateNotifier ( npm ) , null )
130
135
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' ] , 'requested latest version' )
131
136
} )
132
137
t . test ( 'ignore pacote failures (here for coverage)' , async t => {
133
138
PACOTE_ERROR = new Error ( 'pah-KO-tchay' )
134
- t . equal ( await updateNotifier ( npm ) , null )
139
+ t . equal ( await runUpdateNotifier ( npm ) , null )
135
140
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' ] , 'requested latest version' )
136
141
} )
137
142
t . test ( 'do not update if newer than latest, but same as next' , async t => {
138
- t . equal ( await updateNotifier ( { ...npm , version : NEXT_VERSION } ) , null )
143
+ t . equal ( await runUpdateNotifier ( { ...npm , version : NEXT_VERSION } ) , null )
139
144
const reqs = [ 'npm@latest' , `npm@^${ NEXT_VERSION } ` ]
140
145
t . strictSame ( MANIFEST_REQUEST , reqs , 'requested latest and next versions' )
141
146
} )
142
147
t . test ( 'do not update if on the latest beta' , async t => {
143
- t . equal ( await updateNotifier ( { ...npm , version : CURRENT_BETA } ) , null )
148
+ t . equal ( await runUpdateNotifier ( { ...npm , version : CURRENT_BETA } ) , null )
144
149
const reqs = [ `npm@^${ CURRENT_BETA } ` ]
145
150
t . strictSame ( MANIFEST_REQUEST , reqs , 'requested latest and next versions' )
146
151
} )
@@ -150,21 +155,21 @@ t.test('situations in which we do not notify', t => {
150
155
ciMock = null
151
156
} )
152
157
ciMock = 'something'
153
- t . equal ( await updateNotifier ( npm ) , null )
158
+ t . equal ( await runUpdateNotifier ( npm ) , null )
154
159
t . strictSame ( MANIFEST_REQUEST , [ ] , 'no requests for manifests' )
155
160
} )
156
161
157
162
t . test ( 'only check weekly for GA releases' , async t => {
158
163
// One week (plus five minutes to account for test environment fuzziness)
159
164
STAT_MTIME = Date . now ( ) - ( 1000 * 60 * 60 * 24 * 7 ) + ( 1000 * 60 * 5 )
160
- t . equal ( await updateNotifier ( npm ) , null )
165
+ t . equal ( await runUpdateNotifier ( npm ) , null )
161
166
t . strictSame ( MANIFEST_REQUEST , [ ] , 'no requests for manifests' )
162
167
} )
163
168
164
169
t . test ( 'only check daily for betas' , async t => {
165
170
// One day (plus five minutes to account for test environment fuzziness)
166
171
STAT_MTIME = Date . now ( ) - ( 1000 * 60 * 60 * 24 ) + ( 1000 * 60 * 5 )
167
- t . equal ( await updateNotifier ( { ...npm , version : HAVE_BETA } ) , null )
172
+ t . equal ( await runUpdateNotifier ( { ...npm , version : HAVE_BETA } ) , null )
168
173
t . strictSame ( MANIFEST_REQUEST , [ ] , 'no requests for manifests' )
169
174
} )
170
175
@@ -174,43 +179,43 @@ t.test('situations in which we do not notify', t => {
174
179
t . test ( 'notification situations' , t => {
175
180
t . test ( 'new beta available' , async t => {
176
181
const version = HAVE_BETA
177
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
178
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
182
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
183
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
179
184
t . strictSame ( MANIFEST_REQUEST , [ `npm@^${ version } ` , `npm@^${ version } ` ] )
180
185
} )
181
186
182
187
t . test ( 'patch to next version' , async t => {
183
188
const version = NEXT_PATCH
184
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
185
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
189
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
190
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
186
191
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' , `npm@^${ version } ` , 'npm@latest' , `npm@^${ version } ` ] )
187
192
} )
188
193
189
194
t . test ( 'minor to next version' , async t => {
190
195
const version = NEXT_MINOR
191
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
192
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
196
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
197
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
193
198
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' , `npm@^${ version } ` , 'npm@latest' , `npm@^${ version } ` ] )
194
199
} )
195
200
196
201
t . test ( 'patch to current' , async t => {
197
202
const version = CURRENT_PATCH
198
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
199
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
203
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
204
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
200
205
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' , 'npm@latest' ] )
201
206
} )
202
207
203
208
t . test ( 'minor to current' , async t => {
204
209
const version = CURRENT_MINOR
205
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
206
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
210
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
211
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
207
212
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' , 'npm@latest' ] )
208
213
} )
209
214
210
215
t . test ( 'major to current' , async t => {
211
216
const version = CURRENT_MAJOR
212
- t . matchSnapshot ( await updateNotifier ( { ...npm , version } ) , 'color' )
213
- t . matchSnapshot ( await updateNotifier ( { ...npmNoColor , version } ) , 'no color' )
217
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npm , version } ) , 'color' )
218
+ t . matchSnapshot ( await runUpdateNotifier ( { ...npmNoColor , version } ) , 'no color' )
214
219
t . strictSame ( MANIFEST_REQUEST , [ 'npm@latest' , 'npm@latest' ] )
215
220
} )
216
221
0 commit comments