@@ -195,7 +195,8 @@ describe('Unit: Tasks > yarn-install', function () {
195
195
} ;
196
196
const yarnStub = sinon . stub ( ) . resolves ( { stdout : JSON . stringify ( data ) } ) ;
197
197
const dist = proxyquire ( modulePath , {
198
- '../utils/yarn' : yarnStub
198
+ '../utils/yarn' : yarnStub ,
199
+ '../../package.json' : { version : '1.0.0' }
199
200
} ) . subTasks . dist ;
200
201
const ctx = { version : '1.5.0' } ;
201
202
@@ -209,6 +210,31 @@ describe('Unit: Tasks > yarn-install', function () {
209
210
} ) ;
210
211
} ) ;
211
212
213
+ it ( 'resolves if Ghost version isn\'t compatible with CLI version, but CLI is a prerelease version' , function ( ) {
214
+ const data = {
215
+ data : {
216
+ engines : { node : process . versions . node , cli : '^1.9.0' } ,
217
+ dist : { shasum : 'asdf1234' , tarball : 'something.tgz' }
218
+ }
219
+ } ;
220
+ const yarnStub = sinon . stub ( ) . resolves ( { stdout : JSON . stringify ( data ) } ) ;
221
+ const dist = proxyquire ( modulePath , {
222
+ '../utils/yarn' : yarnStub ,
223
+ '../../package.json' : { version : '1.10.0-beta.0' }
224
+ } ) . subTasks . dist ;
225
+ const ctx = { version : '1.5.0' } ;
226
+
227
+ return dist ( ctx ) . then ( ( ) => {
228
+ expect ( yarnStub . calledOnce ) . to . be . true ;
229
+ expect ( yarnStub . calledWithExactly ( [ 'info' , '[email protected] ' , '--json' ] ) ) . to . be . true ;
230
+ expect ( ctx ) . to . deep . equal ( {
231
+ version : '1.5.0' ,
232
+ shasum : 'asdf1234' ,
233
+ tarball : 'something.tgz'
234
+ } ) ;
235
+ } ) ;
236
+ } ) ;
237
+
212
238
it ( 'adds shasum and tarball values to context' , function ( ) {
213
239
const data = { data : { dist : { shasum : 'asdf1234' , tarball : 'something.tgz' } } } ;
214
240
const yarnStub = sinon . stub ( ) . resolves ( { stdout : JSON . stringify ( data ) } ) ;
0 commit comments