Skip to content

Commit 634ca1c

Browse files
committed
fix(hmr-websocket): add failing test
1 parent fff9caa commit 634ca1c

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

packages/@vue/cli-service/__tests__/serve.spec.js

+14
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,17 @@ test('dart sass', async () => {
180180
// should build successfully
181181
await project.run('vue-cli-service build')
182182
})
183+
184+
test.only('use a single websocket connection for HMR', async () => {
185+
const project = await create('e2e-serve', defaultPreset)
186+
187+
await serve(
188+
() => project.run('vue-cli-service serve'),
189+
async ({ helpers, requestUrls }) => {
190+
const msg = `Welcome to Your Vue.js App`
191+
expect(await helpers.getText('h1')).toMatch(msg)
192+
193+
expect(requestUrls.filter(url => url.includes('sockjs-node')).length).toBe(1)
194+
}
195+
)
196+
})

packages/@vue/cli-test-utils/launchPuppeteer.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,16 @@ module.exports = async function launchPuppeteer (url) {
99
const page = await browser.newPage()
1010

1111
const logs = []
12+
const requestUrls = []
1213
page.on('console', msg => logs.push(msg.text()))
1314

15+
await page.setRequestInterception(true)
16+
page.on('request', interceptedRequest => {
17+
requestUrls.push(interceptedRequest.url())
18+
interceptedRequest.continue()
19+
})
20+
1421
await page.goto(url)
1522

16-
return { browser, page, logs }
23+
return { browser, page, logs, requestUrls }
1724
}

packages/@vue/cli-test-utils/serveWithPuppeteer.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ module.exports = async function serveWithPuppeteer (serve, test, noPuppeteer) {
4444
await test({ url })
4545
} else {
4646
// start browser
47-
const { page, browser } = await launchPuppeteer(url)
47+
const { page, browser, requestUrls } = await launchPuppeteer(url)
4848
activeBrowser = browser
4949

5050
const helpers = createHelpers(page)
@@ -54,7 +54,8 @@ module.exports = async function serveWithPuppeteer (serve, test, noPuppeteer) {
5454
page,
5555
url,
5656
nextUpdate,
57-
helpers
57+
helpers,
58+
requestUrls
5859
})
5960

6061
await browser.close()

0 commit comments

Comments
 (0)