From 71aeedfcbea46084615efa93f177e96a23e711b4 Mon Sep 17 00:00:00 2001 From: Ken Sodemann Date: Fri, 2 Feb 2018 11:49:10 -0600 Subject: [PATCH] fix(e2e): restore the events test fully Also clean up the runner a bit --- packages/core/scripts/e2e/index.js | 58 +++++++++---------- .../src/components/events/test/basic/e2e.js | 4 +- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/packages/core/scripts/e2e/index.js b/packages/core/scripts/e2e/index.js index b97c9a1b28..4f8e22e151 100644 --- a/packages/core/scripts/e2e/index.js +++ b/packages/core/scripts/e2e/index.js @@ -5,7 +5,7 @@ const glob = require('glob'); const Mocha = require('mocha'); const path = require('path'); const webdriver = require('selenium-webdriver'); -const argv = require('yargs').argv +const argv = require('yargs').argv; const Page = require('./page'); const Snapshot = require('./snapshot'); @@ -20,7 +20,11 @@ let folder = null; function startDevServer() { const server = require('@stencil/dev-server/dist'); // TODO: fix after stencil-dev-server PR #16 is merged - const cmdArgs = ['--config', path.join(__dirname, '../../stencil.config.js'), '--no-open']; + const cmdArgs = [ + '--config', + path.join(__dirname, '../../stencil.config.js'), + '--no-open' + ]; return server.run(cmdArgs); } @@ -61,11 +65,10 @@ function startDriver() { }; chromeCapabilities.set('chromeOptions', chromeOptions); - return new webdriver.Builder().withCapabilities(chromeCapabilities).forBrowser('chrome').build(); -} - -async function stopDriver() { - await driver.quit(); + return new webdriver.Builder() + .withCapabilities(chromeCapabilities) + .forBrowser('chrome') + .build(); } function processCommandLine() { @@ -80,19 +83,14 @@ function processCommandLine() { function registerE2ETest(desc, tst) { // NOTE: Do not use an arrow function here because: https://mochajs.org/#arrow-functions - it(desc, function(done) { - // const driver = startDriver(); - (async function() { - await tst(driver, this); - if (takeScreenshots) { - await snapshot.takeScreenshot(driver, { - name: this.test.fullTitle().replace(/(^[\w-]+\/[\w-]+)/, '$1:'), - specIndex: specIndex++ - }); - } - // await driver.quit(); - done(); - })(); + it(desc, async function() { + await tst(driver, this); + if (takeScreenshots) { + await snapshot.takeScreenshot(driver, { + name: this.test.fullTitle().replace(/(^[\w-]+\/[\w-]+)/, '$1:'), + specIndex: specIndex++ + }); + } }); } @@ -124,7 +122,7 @@ async function run() { } devServer.close(); - stopDriver(); + await driver.quit(); if (failures) { throw new Error(failures); @@ -170,7 +168,6 @@ function mochaLoadFiles(mocha) { }); } - function parseSemver(str) { return /(\d+)\.(\d+)\.(\d+)/ .exec(str) @@ -182,19 +179,22 @@ function validateNodeVersion(version) { const [major, minor] = parseSemver(version); if (major < 7 || (major === 7 && minor < 6)) { - throw new Error('Running the end-to-end tests requires Node version 7.6.0 or higher.'); + throw new Error( + 'Running the end-to-end tests requires Node version 7.6.0 or higher.' + ); } } // Invoke run() only if executed directly i.e. `node ./scripts/e2e` if (require.main === module) { validateNodeVersion(process.version); - run().then(() => { - }).catch((err) => { - console.log(err); - // fail with non-zero status code - process.exit(1); - }); + run() + .then(() => {}) + .catch(err => { + console.log(err); + // fail with non-zero status code + process.exit(1); + }); } module.exports = { diff --git a/packages/core/src/components/events/test/basic/e2e.js b/packages/core/src/components/events/test/basic/e2e.js index 08244351b1..bd9cc3e213 100644 --- a/packages/core/src/components/events/test/basic/e2e.js +++ b/packages/core/src/components/events/test/basic/e2e.js @@ -18,8 +18,7 @@ platforms.forEach(platform => { return page.navigate('#content'); }); - /*register('subscribers should receive event on or shortly after button click', async (driver, testContext) => { - + register('subscribers should receive event on or shortly after button click', async (driver, testContext) => { testContext.timeout(1000); const page = new E2ETestPage(driver, platform); await wait(300); @@ -38,7 +37,6 @@ platforms.forEach(platform => { const secretTwoText = await secretTwoElement.getText(); expect(secretTwoText).to.equal('Burrito'); }); - */ }); });