From fda7a5a133f68bef198e13418b0956997fcf666c Mon Sep 17 00:00:00 2001 From: Ken Sodemann Date: Mon, 30 Oct 2017 15:41:12 -0500 Subject: [PATCH] refactor(e2e-tests): use a page class Just one way to reduce a lot of repetative code. --- .../action-sheet/test/basic.e2e-spec.js | 81 +++++++++---------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/packages/core/src/components/action-sheet/test/basic.e2e-spec.js b/packages/core/src/components/action-sheet/test/basic.e2e-spec.js index 9969be01a3..b9fa1826fb 100644 --- a/packages/core/src/components/action-sheet/test/basic.e2e-spec.js +++ b/packages/core/src/components/action-sheet/test/basic.e2e-spec.js @@ -6,62 +6,61 @@ const until = webdriver.until; const register = require('../../../../scripts/register-e2e-test'); -const url = 'http://localhost:3333/src/components/action-sheet/test/basic.html'; +class Page { + constructor(driver) { + this.url = 'http://localhost:3333/src/components/action-sheet/test/basic.html'; + this.driver = driver; + } + + navigate() { + this.driver.navigate().to(this.url); + this.driver.wait(until.elementLocated(By.id('cancelOnly'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.id('cancelOnly')))); + } + + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.action-sheet-container'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.action-sheet-container')))); + } +} describe('action-sheet: basic', () => { - register('navigates', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementLocated(By.id('cancelOnly'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.id('cancelOnly')))); + register('navigates', driver => { + const page = new Page(driver); + return page.navigate(); }); describe('present', () => { - register('shows basic', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('basic')))); - driver.findElement(By.id('basic')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows basic', driver => { + const page = new Page(driver); + return page.present('basic'); }); - register('shows noBackdropDismiss', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('noBackdropDismiss')))); - driver.findElement(By.id('noBackdropDismiss')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows noBackdropDismiss', (driver) => { + const page = new Page(driver); + return page.present('noBackdropDismiss'); }); - register('shows alertFromActionSheet', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('alertFromActionSheet')))); - driver.findElement(By.id('alertFromActionSheet')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows alertFromActionSheet', (driver) => { + const page = new Page(driver); + return page.present('alertFromActionSheet'); }); - register('shows scrollableOptions', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('scrollableOptions')))); - driver.findElement(By.id('scrollableOptions')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows scrollableOptions', (driver) => { + const page = new Page(driver); + return page.present('scrollableOptions'); }); - register('shows scrollWithoutCancel', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('scrollWithoutCancel')))); - driver.findElement(By.id('scrollWithoutCancel')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows scrollWithoutCancel', (driver) => { + const page = new Page(driver); + return page.present('scrollWithoutCancel'); }); - register('shows cancelOnly', (driver) => { - driver.navigate().to(url); - driver.wait(until.elementIsEnabled(driver.findElement(By.id('cancelOnly')))); - driver.findElement(By.id('cancelOnly')).click(); - driver.wait(until.elementLocated(By.css('.action-sheet-container'))); - return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container')))); + register('shows cancelOnly', (driver) => { + const page = new Page(driver); + return page.present('cancelOnly'); }); }); });