From 0983f95d9f9f01bf17e573c5757d66e56b57dae5 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 5 Oct 2018 18:30:24 -0400 Subject: [PATCH] test(components): migrate e2e tests to puppeteer references #15803 --- .../src/components/datetime/test/basic/e2e.js | 31 ------------------- .../src/components/datetime/test/basic/e2e.ts | 19 ++++++++++++ .../datetime/test/standalone/e2e.js | 31 ------------------- .../datetime/test/standalone/e2e.ts | 19 ++++++++++++ core/src/components/select/test/basic/e2e.js | 30 ------------------ core/src/components/select/test/basic/e2e.ts | 28 +++++++++++++++++ .../select/test/multiple-value/e2e.js | 25 --------------- .../select/test/multiple-value/e2e.ts | 19 ++++++++++++ .../select/test/single-value/e2e.js | 25 --------------- .../select/test/single-value/e2e.ts | 19 ++++++++++++ .../components/select/test/standalone/e2e.js | 19 ------------ .../components/select/test/standalone/e2e.ts | 10 ++++++ 12 files changed, 114 insertions(+), 161 deletions(-) delete mode 100644 core/src/components/datetime/test/basic/e2e.js create mode 100644 core/src/components/datetime/test/basic/e2e.ts delete mode 100644 core/src/components/datetime/test/standalone/e2e.js create mode 100644 core/src/components/datetime/test/standalone/e2e.ts delete mode 100644 core/src/components/select/test/basic/e2e.js create mode 100644 core/src/components/select/test/basic/e2e.ts delete mode 100644 core/src/components/select/test/multiple-value/e2e.js create mode 100644 core/src/components/select/test/multiple-value/e2e.ts delete mode 100644 core/src/components/select/test/single-value/e2e.js create mode 100644 core/src/components/select/test/single-value/e2e.ts delete mode 100644 core/src/components/select/test/standalone/e2e.js create mode 100644 core/src/components/select/test/standalone/e2e.ts diff --git a/core/src/components/datetime/test/basic/e2e.js b/core/src/components/datetime/test/basic/e2e.js deleted file mode 100644 index a90145c592..0000000000 --- a/core/src/components/datetime/test/basic/e2e.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/datetime/test/basic?ionic:mode=${platform}`); - } - - async present(buttonId) { - await this.navigate('#content'); - this.driver.findElement(By.id(buttonId)).click(); - await this.driver.wait(until.elementLocated(By.css('.picker-wrapper'))); - return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper')))); - } -} - -platforms.forEach(platform => { - describe('datetime/basic', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate('#content'); - }); - - register('should open custom picker', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('customPickerOptions'); - }); - }); -}); diff --git a/core/src/components/datetime/test/basic/e2e.ts b/core/src/components/datetime/test/basic/e2e.ts new file mode 100644 index 0000000000..d21615c207 --- /dev/null +++ b/core/src/components/datetime/test/basic/e2e.ts @@ -0,0 +1,19 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('datetime: basic', async () => { + const page = await newE2EPage({ + url: '/src/components/datetime/test/basic?ionic:animated=false' + }); + + let compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); + + const datetime = await page.find('#customPickerOptions'); + await datetime.click(); + + const picker = await page.find('ion-picker'); + await picker.waitForVisible(); + + compare = await page.compareScreenshot('should open custom picker'); + expect(compare).toMatchScreenshot(); +}); diff --git a/core/src/components/datetime/test/standalone/e2e.js b/core/src/components/datetime/test/standalone/e2e.js deleted file mode 100644 index a9ba0b49d6..0000000000 --- a/core/src/components/datetime/test/standalone/e2e.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/datetime/test/standalone?ionic:mode=${platform}`); - } - - async present(buttonId) { - await this.navigate('#basic'); - this.driver.findElement(By.id(buttonId)).click(); - await this.driver.wait(until.elementLocated(By.css('.picker-wrapper'))); - return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper')))); - } -} - -platforms.forEach(platform => { - describe('datetime/standalone', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate('#basic'); - }); - - register('should open basic picker', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('basic'); - }); - }); -}); diff --git a/core/src/components/datetime/test/standalone/e2e.ts b/core/src/components/datetime/test/standalone/e2e.ts new file mode 100644 index 0000000000..3cd6b21c75 --- /dev/null +++ b/core/src/components/datetime/test/standalone/e2e.ts @@ -0,0 +1,19 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('datetime: standalone', async () => { + const page = await newE2EPage({ + url: '/src/components/datetime/test/standalone?ionic:animated=false' + }); + + let compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); + + const datetime = await page.find('#basic'); + await datetime.click(); + + const picker = await page.find('ion-picker'); + await picker.waitForVisible(); + + compare = await page.compareScreenshot('should open basic picker'); + expect(compare).toMatchScreenshot(); +}); diff --git a/core/src/components/select/test/basic/e2e.js b/core/src/components/select/test/basic/e2e.js deleted file mode 100644 index 24f923ac56..0000000000 --- a/core/src/components/select/test/basic/e2e.js +++ /dev/null @@ -1,30 +0,0 @@ - -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/select/test/basic?ionic:mode=${platform}`); - } -} - -platforms.forEach(platform => { - describe('select/basic', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate('#gender'); - }); - - register('should open gender single select', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('#gender', { waitFor: '.alert-wrapper' }); - }); - - register('should open custom action sheet select', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('#customSelect', { waitFor: '.action-sheet-wrapper' }); - }); - }); -}); diff --git a/core/src/components/select/test/basic/e2e.ts b/core/src/components/select/test/basic/e2e.ts new file mode 100644 index 0000000000..75c95339b2 --- /dev/null +++ b/core/src/components/select/test/basic/e2e.ts @@ -0,0 +1,28 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('select: basic', async () => { + const page = await newE2EPage({ + url: '/src/components/select/test/basic?ionic:animated=false' + }); + + let compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); + + let select = await page.find('#gender'); + await select.click(); + + const alert = await page.find('ion-alert'); + await alert.waitForVisible(); + + compare = await page.compareScreenshot('should open gender single select'); + expect(compare).toMatchScreenshot(); + + select = await page.find('#customSelect'); + await select.click(); + + const actionSheet = await page.find('ion-action-sheet'); + await actionSheet.waitForVisible(); + + compare = await page.compareScreenshot('should open custom action sheet select'); + expect(compare).toMatchScreenshot(); +}); diff --git a/core/src/components/select/test/multiple-value/e2e.js b/core/src/components/select/test/multiple-value/e2e.js deleted file mode 100644 index baec8d789f..0000000000 --- a/core/src/components/select/test/multiple-value/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ - -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/select/test/multiple-value?ionic:mode=${platform}`); - } -} - -platforms.forEach(platform => { - describe('select/multiple-value', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate('#toppings'); - }); - - register('should open toppings multiple select', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('#toppings', { waitFor: '.alert-wrapper'}); - }); - }); -}); diff --git a/core/src/components/select/test/multiple-value/e2e.ts b/core/src/components/select/test/multiple-value/e2e.ts new file mode 100644 index 0000000000..ba32250328 --- /dev/null +++ b/core/src/components/select/test/multiple-value/e2e.ts @@ -0,0 +1,19 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('select: multiple-value', async () => { + const page = await newE2EPage({ + url: '/src/components/select/test/multiple-value?ionic:animated=false' + }); + + let compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); + + const select = await page.find('#toppings'); + await select.click(); + + const alert = await page.find('ion-alert'); + await alert.waitForVisible(); + + compare = await page.compareScreenshot('should open toppings multiple select'); + expect(compare).toMatchScreenshot(); +}); diff --git a/core/src/components/select/test/single-value/e2e.js b/core/src/components/select/test/single-value/e2e.js deleted file mode 100644 index d45d2e4094..0000000000 --- a/core/src/components/select/test/single-value/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ - -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/select/test/single-value?ionic:mode=${platform}`); - } -} - -platforms.forEach(platform => { - describe('select/single-value', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate('#gender'); - }); - - register('should open gender single select', driver => { - const page = new E2ETestPage(driver, platform); - return page.present('#gender', { waitFor: '.alert-wrapper'}); - }); - }); -}); diff --git a/core/src/components/select/test/single-value/e2e.ts b/core/src/components/select/test/single-value/e2e.ts new file mode 100644 index 0000000000..18f8a5d720 --- /dev/null +++ b/core/src/components/select/test/single-value/e2e.ts @@ -0,0 +1,19 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('select: single-value', async () => { + const page = await newE2EPage({ + url: '/src/components/select/test/single-value?ionic:animated=false' + }); + + let compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); + + const select = await page.find('#gender'); + await select.click(); + + const alert = await page.find('ion-alert'); + await alert.waitForVisible(); + + compare = await page.compareScreenshot('should open gender single select'); + expect(compare).toMatchScreenshot(); +}); diff --git a/core/src/components/select/test/standalone/e2e.js b/core/src/components/select/test/standalone/e2e.js deleted file mode 100644 index 0accd3002c..0000000000 --- a/core/src/components/select/test/standalone/e2e.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -const { By, until } = require('selenium-webdriver'); -const { register, Page, platforms } = require('../../../../../scripts/e2e'); - -class E2ETestPage extends Page { - constructor(driver, platform) { - super(driver, `http://localhost:3333/src/components/select/test/standalone?ionic:mode=${platform}`); - } -} - -platforms.forEach(platform => { - describe('select/standalone', () => { - register('should init', driver => { - const page = new E2ETestPage(driver, platform); - return page.navigate(); - }); - }); -}); diff --git a/core/src/components/select/test/standalone/e2e.ts b/core/src/components/select/test/standalone/e2e.ts new file mode 100644 index 0000000000..efe4320369 --- /dev/null +++ b/core/src/components/select/test/standalone/e2e.ts @@ -0,0 +1,10 @@ +import { newE2EPage } from '@stencil/core/testing'; + +it('select: standalone', async () => { + const page = await newE2EPage({ + url: '/src/components/select/test/standalone?ionic:animated=false' + }); + + const compare = await page.compareScreenshot(); + expect(compare).toMatchScreenshot(); +});