package com.hantsylabs.example.spring.test.webdriver.pages;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CreateTaskPage extends AbstractPage {
private static final Logger log = LoggerFactory.getLogger(CreateTaskPage.class);
private WebElement name;
private WebElement description;
@FindBy(css = "#nameField div.help-block")
private WebElement titleError;
@FindBy(css = "#descField div.help-block")
private WebElement descriptionError;
@FindBy(id = "submitTask")
private WebElement submit;
public CreateTaskPage(WebDriver driver) {
super(driver);
}
public TaskListPage newTask(String name, String details) {
this.name.sendKeys(name);
this.description.sendKeys(details);
this.submit.click();
return PageFactory.initElements(driver, TaskListPage.class);
}
public CreateTaskPage newTaskWithEmptyFields() {
this.name.sendKeys("");
this.description.sendKeys("");
this.submit.click();
return PageFactory.initElements(driver, CreateTaskPage.class);
}
public String getTitleError() {
log.debug(" title error @" + this.titleError.getText());
return this.titleError.getText();
}
public String getDescriptionError() {
log.debug(" description error @" + this.descriptionError.getText());
return this.descriptionError.getText();
}
public static CreateTaskPage to(WebDriver driver) {
get(driver, "tasks/new");
return PageFactory.initElements(driver, CreateTaskPage.class);
}
}