package org.arquillian.droidium.openblend.fragment.web; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.openqa.selenium.support.FindBy; public class TodoPage { @FindBy(id = "project-list") private ProjectFragment projectFragment; @FindBy(id = "task-container") private TaskWebFragment taskFragment; public void addProject(String projectTitle) { projectFragment.addProject(projectTitle); assertThat(projectFragment.currentProjectName(), is("groceries")); } public void addTask(String name, String date, String description) { final Pattern datePattern = Pattern.compile("(\\d+)-(\\d+)-(\\d+)"); Matcher m = datePattern.matcher(date); if (m.matches()) { taskFragment.addTask(projectFragment.currentProjectName(), name, m.group(1), m.group(2), m.group(3), description); } else { throw new IllegalArgumentException("Date was specified in invalid form " + date); } } public int totalTasks() { return taskFragment.totalTasks(); } }