refactor test to use project.has()

This commit is contained in:
Evan You
2018-01-09 20:12:57 -05:00
parent b172a07f04
commit e7d619bc3d
2 changed files with 13 additions and 20 deletions
@@ -1,6 +1,5 @@
jest.setTimeout(30000)
const fs = require('fs')
const path = require('path')
const portfinder = require('portfinder')
const { createServer } = require('http-server')
@@ -18,16 +17,14 @@ test('pwa', async () => {
const { stdout } = await project.run('vue-cli-service build')
expect(stdout).toMatch('Build complete.')
const distDir = path.join(project.dir, 'dist')
const hasFile = file => fs.existsSync(path.join(distDir, file))
expect(hasFile('index.html')).toBe(true)
expect(hasFile('favicon.ico')).toBe(true)
expect(hasFile('js')).toBe(true)
expect(hasFile('css')).toBe(true)
expect(project.has('dist/index.html')).toBe(true)
expect(project.has('dist/favicon.ico')).toBe(true)
expect(project.has('dist/js')).toBe(true)
expect(project.has('dist/css')).toBe(true)
// PWA specific files
expect(hasFile('manifest.json')).toBe(true)
expect(hasFile('img/icons/android-chrome-512x512.png')).toBe(true)
expect(project.has('dist/manifest.json')).toBe(true)
expect(project.has('dist/img/icons/android-chrome-512x512.png')).toBe(true)
// Make sure the base preload/prefetch are not affected
const index = await project.read('dist/index.html')
@@ -49,7 +46,7 @@ test('pwa', async () => {
expect(main).toMatch(`import './registerServiceWorker'`)
const port = await portfinder.getPortPromise()
server = createServer({ root: distDir })
server = createServer({ root: path.join(project.dir, 'dist') })
await new Promise((resolve, reject) => {
server.listen(port, err => {
@@ -1,6 +1,5 @@
jest.setTimeout(30000)
const fs = require('fs')
const path = require('path')
const portfinder = require('portfinder')
const { createServer } = require('http-server')
@@ -16,16 +15,13 @@ test('build', async () => {
project.write('public/foo.js', '1')
const { stdout } = await project.run('vue-cli-service build')
expect(stdout).toMatch('Build complete.')
const distDir = path.join(project.dir, 'dist')
const hasFile = file => fs.existsSync(path.join(distDir, file))
expect(hasFile('index.html')).toBe(true)
expect(hasFile('favicon.ico')).toBe(true)
expect(hasFile('js')).toBe(true)
expect(hasFile('css')).toBe(true)
expect(hasFile('foo.js')).toBe(true)
expect(project.has('dist/index.html')).toBe(true)
expect(project.has('dist/favicon.ico')).toBe(true)
expect(project.has('dist/js')).toBe(true)
expect(project.has('dist/css')).toBe(true)
expect(project.has('dist/foo.js')).toBe(true)
const index = await project.read('dist/index.html')
// should split and preload app.js & vendor.js
@@ -37,7 +33,7 @@ test('build', async () => {
expect(index).toMatch('webpackJsonp')
const port = await portfinder.getPortPromise()
server = createServer({ root: distDir })
server = createServer({ root: path.join(project.dir, 'dist') })
await new Promise((resolve, reject) => {
server.listen(port, err => {