From 634ca1ce4307982afe67bbe853f11af8956e14b6 Mon Sep 17 00:00:00 2001 From: Bogdan Luca Date: Fri, 10 Jan 2020 14:36:29 +0200 Subject: [PATCH] fix(hmr-websocket): add failing test --- packages/@vue/cli-service/__tests__/serve.spec.js | 14 ++++++++++++++ packages/@vue/cli-test-utils/launchPuppeteer.js | 9 ++++++++- packages/@vue/cli-test-utils/serveWithPuppeteer.js | 5 +++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-service/__tests__/serve.spec.js b/packages/@vue/cli-service/__tests__/serve.spec.js index 717d03897c..2972c681fb 100644 --- a/packages/@vue/cli-service/__tests__/serve.spec.js +++ b/packages/@vue/cli-service/__tests__/serve.spec.js @@ -180,3 +180,17 @@ test('dart sass', async () => { // should build successfully await project.run('vue-cli-service build') }) + +test.only('use a single websocket connection for HMR', async () => { + const project = await create('e2e-serve', defaultPreset) + + await serve( + () => project.run('vue-cli-service serve'), + async ({ helpers, requestUrls }) => { + const msg = `Welcome to Your Vue.js App` + expect(await helpers.getText('h1')).toMatch(msg) + + expect(requestUrls.filter(url => url.includes('sockjs-node')).length).toBe(1) + } + ) +}) diff --git a/packages/@vue/cli-test-utils/launchPuppeteer.js b/packages/@vue/cli-test-utils/launchPuppeteer.js index 014e29ca7f..9d11bbb800 100644 --- a/packages/@vue/cli-test-utils/launchPuppeteer.js +++ b/packages/@vue/cli-test-utils/launchPuppeteer.js @@ -9,9 +9,16 @@ module.exports = async function launchPuppeteer (url) { const page = await browser.newPage() const logs = [] + const requestUrls = [] page.on('console', msg => logs.push(msg.text())) + await page.setRequestInterception(true) + page.on('request', interceptedRequest => { + requestUrls.push(interceptedRequest.url()) + interceptedRequest.continue() + }) + await page.goto(url) - return { browser, page, logs } + return { browser, page, logs, requestUrls } } diff --git a/packages/@vue/cli-test-utils/serveWithPuppeteer.js b/packages/@vue/cli-test-utils/serveWithPuppeteer.js index 2477d038c0..2763036dff 100644 --- a/packages/@vue/cli-test-utils/serveWithPuppeteer.js +++ b/packages/@vue/cli-test-utils/serveWithPuppeteer.js @@ -44,7 +44,7 @@ module.exports = async function serveWithPuppeteer (serve, test, noPuppeteer) { await test({ url }) } else { // start browser - const { page, browser } = await launchPuppeteer(url) + const { page, browser, requestUrls } = await launchPuppeteer(url) activeBrowser = browser const helpers = createHelpers(page) @@ -54,7 +54,8 @@ module.exports = async function serveWithPuppeteer (serve, test, noPuppeteer) { page, url, nextUpdate, - helpers + helpers, + requestUrls }) await browser.close()