From 68229ce47bcd0b468f8d346aab88b21ece304f54 Mon Sep 17 00:00:00 2001 From: tomastrajan Date: Tue, 25 Jun 2019 17:44:54 +0200 Subject: [PATCH] chore(e2e): restructure e2e test, add todo e2e test --- .../e2e/src/{ => app}/app.e2e-spec.ts | 2 +- .../e2e/src/{ => app}/app.po.ts | 0 .../{ => features}/about/about.e2e-spec.ts | 2 +- .../e2e/src/{ => features}/about/about.po.ts | 0 .../e2e/src/features/todos/todos.e2e-spec.ts | 27 +++++++++++++++++++ .../e2e/src/features/todos/todos.po.ts | 19 +++++++++++++ 6 files changed, 48 insertions(+), 2 deletions(-) rename projects/angular-ngrx-material-starter/e2e/src/{ => app}/app.e2e-spec.ts (92%) rename projects/angular-ngrx-material-starter/e2e/src/{ => app}/app.po.ts (100%) rename projects/angular-ngrx-material-starter/e2e/src/{ => features}/about/about.e2e-spec.ts (92%) rename projects/angular-ngrx-material-starter/e2e/src/{ => features}/about/about.po.ts (100%) create mode 100755 projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.e2e-spec.ts create mode 100755 projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.po.ts diff --git a/projects/angular-ngrx-material-starter/e2e/src/app.e2e-spec.ts b/projects/angular-ngrx-material-starter/e2e/src/app/app.e2e-spec.ts similarity index 92% rename from projects/angular-ngrx-material-starter/e2e/src/app.e2e-spec.ts rename to projects/angular-ngrx-material-starter/e2e/src/app/app.e2e-spec.ts index b2e442924..bd425c72b 100755 --- a/projects/angular-ngrx-material-starter/e2e/src/app.e2e-spec.ts +++ b/projects/angular-ngrx-material-starter/e2e/src/app/app.e2e-spec.ts @@ -1,6 +1,6 @@ import { AppPage } from './app.po'; -import { getCurrentRouteUrl } from './utils/utils'; +import { getCurrentRouteUrl } from '../utils/utils'; describe('App', () => { let page: AppPage; diff --git a/projects/angular-ngrx-material-starter/e2e/src/app.po.ts b/projects/angular-ngrx-material-starter/e2e/src/app/app.po.ts similarity index 100% rename from projects/angular-ngrx-material-starter/e2e/src/app.po.ts rename to projects/angular-ngrx-material-starter/e2e/src/app/app.po.ts diff --git a/projects/angular-ngrx-material-starter/e2e/src/about/about.e2e-spec.ts b/projects/angular-ngrx-material-starter/e2e/src/features/about/about.e2e-spec.ts similarity index 92% rename from projects/angular-ngrx-material-starter/e2e/src/about/about.e2e-spec.ts rename to projects/angular-ngrx-material-starter/e2e/src/features/about/about.e2e-spec.ts index 22eba677f..a3485d3c2 100755 --- a/projects/angular-ngrx-material-starter/e2e/src/about/about.e2e-spec.ts +++ b/projects/angular-ngrx-material-starter/e2e/src/features/about/about.e2e-spec.ts @@ -1,5 +1,5 @@ import { AboutPage } from './about.po'; -import { getCurrentRouteUrl } from '../utils/utils'; +import { getCurrentRouteUrl } from '../../utils/utils'; describe('About Page', () => { let page: AboutPage; diff --git a/projects/angular-ngrx-material-starter/e2e/src/about/about.po.ts b/projects/angular-ngrx-material-starter/e2e/src/features/about/about.po.ts similarity index 100% rename from projects/angular-ngrx-material-starter/e2e/src/about/about.po.ts rename to projects/angular-ngrx-material-starter/e2e/src/features/about/about.po.ts diff --git a/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.e2e-spec.ts b/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.e2e-spec.ts new file mode 100755 index 000000000..e027f544a --- /dev/null +++ b/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.e2e-spec.ts @@ -0,0 +1,27 @@ +import { browser, ExpectedConditions as EC } from 'protractor'; + +import { TodosPage } from './todos.po'; + +describe('Todos Page', () => { + let page: TodosPage; + + beforeEach(() => (page = new TodosPage())); + + it('adds todo', () => { + page.navigateTo(); + + page.getInput().sendKeys('Run e2e tests!'); + page.getAddTodoButton().click(); + + browser.wait(EC.presenceOf(page.getResults().get(3)), 5000); + + expect(page.getResults().count()).toBe(4); + expect( + page + .getResults() + .get(0) + .getText() + .then(text => text.trim()) + ).toBe('Run e2e tests!'); + }); +}); diff --git a/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.po.ts b/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.po.ts new file mode 100755 index 000000000..d80d1755e --- /dev/null +++ b/projects/angular-ngrx-material-starter/e2e/src/features/todos/todos.po.ts @@ -0,0 +1,19 @@ +import { browser, by, element } from 'protractor'; + +export class TodosPage { + navigateTo() { + return browser.get('#/examples/todos'); + } + + getInput() { + return element(by.css('anms-big-input input')); + } + + getAddTodoButton() { + return element(by.css('anms-big-input-action button')); + } + + getResults() { + return element.all(by.css('mat-card.todo')); + } +}