angular4-testing/project-manager/e2e/page-object/task/task-overview.po.ts

71 lines
1.8 KiB
TypeScript
Raw Normal View History

2017-04-14 03:57:42 +02:00
import {AbstractHeaderPage} from "../abstract-header.po";
import {browser, by, element, ElementArrayFinder, ElementFinder, ExpectedConditions} from "protractor";
import {TaskEditPage} from "./task-edit.po";
2017-04-18 00:50:52 +02:00
/**
* PageObject Klasse als Repräösentation der Aufgabenübersichts-Seite
*
* @author FHartwich
*/
2017-04-14 03:57:42 +02:00
export class TaskOverviewPage extends AbstractHeaderPage {
2017-04-18 00:50:52 +02:00
/**
* Button zum Anlegen einer neuen Aufgabe
*/
2017-04-14 03:57:42 +02:00
neueAufgabeBtn: ElementFinder;
2017-04-18 00:50:52 +02:00
/**
* Liste aller Einträge
*/
2017-04-14 03:57:42 +02:00
taskEntries: ElementArrayFinder;
2017-04-18 00:50:52 +02:00
/**
* Konstruktor
*/
2017-04-14 03:57:42 +02:00
constructor() {
super();
super.validatePageHeadline('Aufgaben durchsuchen');
this.neueAufgabeBtn = element(by.linkText('Neue Aufgabe anlegen'));
this.taskEntries = element.all(by.className('task-list-entry'));
}
2017-04-18 00:50:52 +02:00
/**
* Prüft den Wert im Suchfeld
* @param value - erwarteter Wert
*/
2017-04-14 03:57:42 +02:00
validateSearchFieldValue(value: string) {
const inputField = element(by.id('search-tasks'));
expect(inputField.getAttribute('value')).toEqual(value);
}
2017-04-18 00:50:52 +02:00
/**
* Klick auf den Button zum Erstellen einer neuen Aufgabe
* @returns {TaskEditPage}
*/
2017-04-14 03:57:42 +02:00
clickNeueAufgabe(): TaskEditPage {
this.neueAufgabeBtn.click();
return new TaskEditPage(true);
}
2017-04-18 00:50:52 +02:00
/**
* validiert dass ein Task mit gegebenen Titel in der Liste
* vorhanden ist
* @param title - erwarteter Titel
*/
2017-04-14 03:57:42 +02:00
verifyNewTask(title: string) {
const newEntry = element(by.linkText(title));
browser.wait(ExpectedConditions.presenceOf(newEntry));
}
2017-04-18 00:50:52 +02:00
/**
* Klick auf den Link einer Aufgabe mit gegebenen Titel
* @param title - Titel der Aufgabe
* @returns {TaskEditPage}
*/
2017-04-14 03:57:42 +02:00
clickTask(title: string) {
const entry = element(by.linkText(title));
entry.click();
return new TaskEditPage(false);
}
}