From 08dcd87d58ce69797ae1a5cba4ff1f0dbe51215e Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Thu, 16 Jan 2020 14:35:50 -0400 Subject: [PATCH] Refactor building of e2e web driver (#7841) The switch case has been moved to a separate function so that the initialization steps following the web driver instantiation could more easily be deduplicated. --- test/e2e/webdriver/index.js | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/test/e2e/webdriver/index.js b/test/e2e/webdriver/index.js index 17c3b2744..c92e74394 100644 --- a/test/e2e/webdriver/index.js +++ b/test/e2e/webdriver/index.js @@ -8,28 +8,26 @@ async function buildWebDriver ({ responsive, port } = {}) { const browser = process.env.SELENIUM_BROWSER const extensionPath = `dist/${browser}` + const { driver: seleniumDriver, extensionId, extensionUrl } = await buildBrowserWebDriver(browser, { extensionPath, responsive, port }) + setupFetchMocking(seleniumDriver) + await seleniumDriver.get(extensionUrl) + + const driver = new Driver(seleniumDriver, browser) + + return { + driver, + extensionId, + extensionUrl, + } +} + +async function buildBrowserWebDriver (browser, webDriverOptions) { switch (browser) { case Browser.CHROME: { - const { driver, extensionId, extensionUrl } = await ChromeDriver.build({ extensionPath, responsive, port }) - setupFetchMocking(driver) - await driver.get(extensionUrl) - - return { - driver: new Driver(driver, browser), - extensionId, - extensionUrl, - } + return await ChromeDriver.build(webDriverOptions) } case Browser.FIREFOX: { - const { driver, extensionId, extensionUrl } = await FirefoxDriver.build({ extensionPath, responsive, port }) - setupFetchMocking(driver) - await driver.get(extensionUrl) - - return { - driver: new Driver(driver, browser), - extensionId, - extensionUrl, - } + return await FirefoxDriver.build(webDriverOptions) } default: { throw new Error(`Unrecognized browser: ${browser}`)