1
1
jest . setTimeout ( 30000 )
2
2
3
- const fs = require ( 'fs' )
4
3
const path = require ( 'path' )
5
4
const portfinder = require ( 'portfinder' )
6
5
const { createServer } = require ( 'http-server' )
@@ -18,16 +17,14 @@ test('pwa', async () => {
18
17
const { stdout } = await project . run ( 'vue-cli-service build' )
19
18
expect ( stdout ) . toMatch ( 'Build complete.' )
20
19
21
- const distDir = path . join ( project . dir , 'dist' )
22
- const hasFile = file => fs . existsSync ( path . join ( distDir , file ) )
23
- expect ( hasFile ( 'index.html' ) ) . toBe ( true )
24
- expect ( hasFile ( 'favicon.ico' ) ) . toBe ( true )
25
- expect ( hasFile ( 'js' ) ) . toBe ( true )
26
- expect ( hasFile ( 'css' ) ) . toBe ( true )
20
+ expect ( project . has ( 'dist/index.html' ) ) . toBe ( true )
21
+ expect ( project . has ( 'dist/favicon.ico' ) ) . toBe ( true )
22
+ expect ( project . has ( 'dist/js' ) ) . toBe ( true )
23
+ expect ( project . has ( 'dist/css' ) ) . toBe ( true )
27
24
28
25
// PWA specific files
29
- expect ( hasFile ( ' manifest.json') ) . toBe ( true )
30
- expect ( hasFile ( ' img/icons/android-chrome-512x512.png') ) . toBe ( true )
26
+ expect ( project . has ( 'dist/ manifest.json') ) . toBe ( true )
27
+ expect ( project . has ( 'dist/ img/icons/android-chrome-512x512.png') ) . toBe ( true )
31
28
32
29
// Make sure the base preload/prefetch are not affected
33
30
const index = await project . read ( 'dist/index.html' )
@@ -49,7 +46,7 @@ test('pwa', async () => {
49
46
expect ( main ) . toMatch ( `import './registerServiceWorker'` )
50
47
51
48
const port = await portfinder . getPortPromise ( )
52
- server = createServer ( { root : distDir } )
49
+ server = createServer ( { root : path . join ( project . dir , 'dist' ) } )
53
50
54
51
await new Promise ( ( resolve , reject ) => {
55
52
server . listen ( port , err => {
0 commit comments