1
1
import path from 'path'
2
2
import consola from 'consola'
3
3
import fsExtra from 'fs-extra'
4
+ import semver from 'semver'
4
5
import { r , waitFor } from '@nuxt/utils'
5
6
import { BundleBuilder } from '@nuxt/webpack'
6
7
7
8
import Builder from '../src/builder'
8
9
import { createNuxt } from './__utils__'
9
10
10
11
jest . mock ( 'fs-extra' )
11
- // jest.mock('semver')
12
+ jest . mock ( 'semver/functions/satisfies ' )
12
13
jest . mock ( 'hash-sum' , ( ) => src => `hash(${ src } )` )
13
14
jest . mock ( '@nuxt/utils' )
14
15
jest . mock ( '../src/ignore' )
@@ -235,9 +236,9 @@ describe('builder: builder build', () => {
235
236
}
236
237
}
237
238
const builder = new Builder ( nuxt , BundleBuilder )
238
- // semver.satisfies
239
- // .mockReturnValueOnce(true)
240
- // .mockReturnValueOnce(true)
239
+ semver . satisfies
240
+ . mockReturnValueOnce ( true )
241
+ . mockReturnValueOnce ( true )
241
242
nuxt . resolver . requireModule
242
243
. mockReturnValueOnce ( { version : 'alpha' } )
243
244
. mockReturnValueOnce ( { version : 'beta' } )
@@ -247,9 +248,9 @@ describe('builder: builder build', () => {
247
248
expect ( nuxt . resolver . requireModule ) . toBeCalledTimes ( 2 )
248
249
expect ( nuxt . resolver . requireModule ) . nthCalledWith ( 1 , 'join(vue, package.json)' )
249
250
expect ( nuxt . resolver . requireModule ) . nthCalledWith ( 2 , 'join(nuxt, package.json)' )
250
- // expect(semver.satisfies).toBeCalledTimes(2)
251
- // expect(semver.satisfies).nthCalledWith(1, 'alpha', 'latest')
252
- // expect(semver.satisfies).nthCalledWith(2, 'beta', 'edge')
251
+ expect ( semver . satisfies ) . toBeCalledTimes ( 2 )
252
+ expect ( semver . satisfies ) . nthCalledWith ( 1 , 'alpha' , 'latest' )
253
+ expect ( semver . satisfies ) . nthCalledWith ( 2 , 'beta' , 'edge' )
253
254
} )
254
255
255
256
test ( 'should warn and throw error if dependencies is not installed' , ( ) => {
@@ -261,7 +262,8 @@ describe('builder: builder build', () => {
261
262
}
262
263
}
263
264
const builder = new Builder ( nuxt , BundleBuilder )
264
- // semver.satisfies.mockReturnValueOnce(false)
265
+ semver . satisfies
266
+ . mockReturnValueOnce ( false )
265
267
nuxt . resolver . requireModule
266
268
. mockReturnValueOnce ( { version : 'alpha' } )
267
269
. mockReturnValueOnce ( undefined )
@@ -274,7 +276,7 @@ describe('builder: builder build', () => {
274
276
expect ( consola . warn ) . toBeCalledTimes ( 2 )
275
277
expect ( consola . warn ) . nthCalledWith ( 1 , 'vue@latest is recommended but vue@alpha is installed!' )
276
278
expect ( consola . warn ) . nthCalledWith ( 2 , 'nuxt@edge is required but not installed!' )
277
- // expect(semver.satisfies).toBeCalledTimes(1)
278
- // expect(semver.satisfies).nthCalledWith(1, 'alpha', 'latest')
279
+ expect ( semver . satisfies ) . toBeCalledTimes ( 1 )
280
+ expect ( semver . satisfies ) . nthCalledWith ( 1 , 'alpha' , 'latest' )
279
281
} )
280
282
} )
0 commit comments