chore: reorganize e2e test files (#5032)

* Renames the e2e test file to match the pattern of `{{component}}-e2e.spec.ts`.
* Flattens the directory structure in the `e2e` directory. Having a separate dir for each component was overkill since only have one file per component.
* Fixes some inconsistent code styles in the Protractor config.

Fixes #5030.
This commit is contained in:
Kristiyan Kostadinov
2017-06-10 01:09:08 +02:00
committed by Andrew Seguin
parent 21f764c347
commit 8e6bee8116
18 changed files with 45 additions and 60 deletions
@@ -1,6 +1,6 @@
import {browser, Key, element, by} from 'protractor';
import {screenshot} from '../../screenshot';
import {getScrollPosition} from '../../util/index';
import {screenshot} from '../screenshot';
import {getScrollPosition} from '../util/index';
describe('scroll blocking', () => {
@@ -1,5 +1,5 @@
import {browser, by, element, ExpectedConditions} from 'protractor';
import {screenshot} from '../../screenshot';
import {screenshot} from '../screenshot';
describe('button', () => {
@@ -1,5 +1,5 @@
import {browser, by, element, Key, ExpectedConditions} from 'protractor';
import {screenshot} from '../../screenshot';
import {screenshot} from '../screenshot';
describe('checkbox', () => {
@@ -5,7 +5,7 @@ import {
pressKeys,
clickElementAtPoint,
waitForElement,
} from '../../util/index';
} from '../util/index';
describe('dialog', () => {
@@ -1,6 +1,6 @@
import {browser} from 'protractor';
import {expectToExist} from '../../util/index';
import {screenshot} from '../../screenshot';
import {expectToExist} from '../util/index';
import {screenshot} from '../screenshot';
describe('grid-list', () => {
beforeEach(() => browser.get('/grid-list'));
@@ -1,5 +1,5 @@
import {browser, by, element} from 'protractor';
import {screenshot} from '../../screenshot';
import {screenshot} from '../screenshot';
describe('icon', () => {
@@ -1,6 +1,6 @@
import {browser} from 'protractor';
import {expectToExist} from '../../util/index';
import {screenshot} from '../../screenshot';
import {expectToExist} from '../util/index';
import {screenshot} from '../screenshot';
describe('list', () => {
beforeEach(() => browser.get('/list'));
@@ -1,13 +1,12 @@
import {Key, protractor} from 'protractor';
import {MenuPage} from './menu-page';
import {screenshot} from '../../screenshot';
import {Key, protractor, browser, by, element, ElementFinder} from 'protractor';
import {screenshot} from '../screenshot';
import {
expectToExist,
expectAlignedWith,
expectFocusOn,
expectLocation,
pressKeys,
} from '../../util/index';
} from '../util/index';
describe('menu', () => {
@@ -192,3 +191,22 @@ describe('menu', () => {
});
});
export class MenuPage {
constructor() { browser.get('/menu'); }
menu = () => element(by.css('.mat-menu-panel'));
start = () => element(by.id('start'));
trigger = () => element(by.id('trigger'));
triggerTwo = () => element(by.id('trigger-two'));
backdrop = () => element(by.css('.cdk-overlay-backdrop'));
items = (index: number) => element.all(by.css('[md-menu-item]')).get(index);
textArea = () => element(by.id('text'));
beforeTrigger = () => element(by.id('before-t'));
aboveTrigger = () => element(by.id('above-t'));
combinedTrigger = () => element(by.id('combined-t'));
beforeMenu = () => element(by.css('.mat-menu-panel.before'));
aboveMenu = () => element(by.css('.mat-menu-panel.above'));
combinedMenu = () => element(by.css('.mat-menu-panel.combined'));
getResultText = () => this.textArea().getText();
}
-33
View File
@@ -1,33 +0,0 @@
import {browser, by, element, ElementFinder} from 'protractor';
export class MenuPage {
constructor() { browser.get('/menu'); }
menu(): ElementFinder { return element(by.css('.mat-menu-panel')); }
start(): ElementFinder { return element(by.id('start')); }
trigger(): ElementFinder { return element(by.id('trigger')); }
triggerTwo(): ElementFinder { return element(by.id('trigger-two')); }
backdrop(): ElementFinder { return element(by.css('.cdk-overlay-backdrop')); }
items(index: number): ElementFinder { return element.all(by.css('[md-menu-item]')).get(index); }
textArea(): ElementFinder { return element(by.id('text')); }
beforeTrigger(): ElementFinder { return element(by.id('before-t')); }
aboveTrigger(): ElementFinder { return element(by.id('above-t')); }
combinedTrigger(): ElementFinder { return element(by.id('combined-t')); }
beforeMenu(): ElementFinder { return element(by.css('.mat-menu-panel.before')); }
aboveMenu(): ElementFinder { return element(by.css('.mat-menu-panel.above')); }
combinedMenu(): ElementFinder { return element(by.css('.mat-menu-panel.combined')); }
getResultText() { return this.textArea().getText(); }
}
@@ -1,5 +1,5 @@
import {browser} from 'protractor';
import {expectToExist} from '../../util/index';
import {expectToExist} from '../util/index';
describe('progress-bar', () => {
beforeEach(() => browser.get('/progress-bar'));
@@ -1,5 +1,5 @@
import {browser, by, element, ExpectedConditions} from 'protractor';
import {screenshot} from '../../screenshot';
import {screenshot} from '../screenshot';
describe('radio', () => {
@@ -1,6 +1,6 @@
import {browser, element, by, Key, ExpectedConditions} from 'protractor';
import {expectToExist} from '../../util/index';
import {screenshot} from '../../screenshot';
import {expectToExist} from '../util/index';
import {screenshot} from '../screenshot';
describe('slide-toggle', () => {
@@ -7,8 +7,8 @@ import {
Key,
ExpectedConditions
} from 'protractor';
import {pressKeys} from '../../util/index';
import {screenshot} from '../../screenshot';
import {pressKeys} from '../util/index';
import {screenshot} from '../screenshot';
describe('tabs', () => {
+3 -3
View File
@@ -1,9 +1,9 @@
import {browser} from 'protractor';
describe('hello, protractor', function () {
describe('index', function () {
describe('hello, protractor', () => {
describe('index', () => {
browser.get('/');
it('should have a title', function () {
it('should have a title', () => {
expect(browser.getTitle()).toBe('Angular Material');
});
});
+4 -4
View File
@@ -10,7 +10,7 @@ require('ts-node').register({
const E2E_BASE_URL = process.env['E2E_BASE_URL'] || 'http://localhost:4200';
const config = {
useAllAngular2AppRoots: true,
specs: [ path.join(__dirname, '../e2e/**/*.e2e.ts') ],
specs: [ path.join(__dirname, '../e2e/**/*.spec.ts') ],
baseUrl: E2E_BASE_URL,
allScriptsTimeout: 120000,
getPageTimeout: 120000,
@@ -42,14 +42,14 @@ if (process.env['TRAVIS']) {
config.capabilities = {
'browserName': 'chrome',
'version': 'latest',
"chromedriverVersion": "2.28",
'chromedriverVersion': '2.28',
'tunnel-identifier': process.env['TRAVIS_JOB_ID'],
'build': process.env['TRAVIS_JOB_ID'],
'name': 'Material E2E Tests',
// Enables concurrent testing in the Webdriver. Currently runs five e2e files in parallel.
maxInstances: 5,
shardTestFiles: true,
'maxInstances': 5,
'shardTestFiles': true,
// By default Saucelabs tries to record the whole e2e run. This can slow down the builds.
'recordVideo': false,