1
1
jest . setTimeout ( 45000 )
2
2
3
+ const path = require ( 'path' )
4
+ const fs = require ( 'fs-extra' )
3
5
const { defaultPreset } = require ( '@vue/cli/lib/options' )
4
6
const create = require ( '@vue/cli-test-utils/createTestProject' )
5
7
const serve = require ( '@vue/cli-test-utils/serveWithPuppeteer' )
@@ -50,8 +52,6 @@ test('serve with router', async () => {
50
52
test ( 'serve with inline entry' , async ( ) => {
51
53
const project = await create ( 'e2e-serve-inline-entry' , defaultPreset )
52
54
53
- const path = require ( 'path' )
54
- const fs = require ( 'fs-extra' )
55
55
await fs . move (
56
56
path . resolve ( project . dir , 'src/main.js' ) ,
57
57
path . resolve ( project . dir , 'src/index.js' )
@@ -72,3 +72,24 @@ test('serve with inline entry', async () => {
72
72
}
73
73
)
74
74
} )
75
+
76
+ test ( 'serve with no public dir' , async ( ) => {
77
+ const project = await create ( 'e2e-serve-no-public' , defaultPreset )
78
+
79
+ await fs . remove ( path . resolve ( project . dir , 'public' ) )
80
+
81
+ await serve (
82
+ ( ) => project . run ( 'vue-cli-service serve' ) ,
83
+ async ( { nextUpdate, helpers } ) => {
84
+ const msg = `Welcome to Your Vue.js App`
85
+ expect ( await helpers . getText ( 'h1' ) ) . toMatch ( msg )
86
+
87
+ // test hot reload
88
+ const file = await project . read ( `src/App.vue` )
89
+ project . write ( `src/App.vue` , file . replace ( msg , `Updated` ) )
90
+ await nextUpdate ( ) // wait for child stdout update signal
91
+ await sleep ( 1000 ) // give the client time to update
92
+ expect ( await helpers . getText ( 'h1' ) ) . toMatch ( `Updated` )
93
+ }
94
+ )
95
+ } )
0 commit comments