package net.rrm.ehour.it.driver;
import static net.rrm.ehour.it.AbstractScenario.BASE_URL;
import static net.rrm.ehour.it.AbstractScenario.Driver;
import static net.rrm.ehour.it.driver.CustomerManagementDriver.createActiveCustomer;
import static net.rrm.ehour.it.driver.EhourApplicationDriver.loginAdmin;
import static net.rrm.ehour.it.driver.EhourApplicationDriver.logout;
import static net.rrm.ehour.it.driver.ItUtil.findElement;
import static net.rrm.ehour.it.driver.ProjectDriver.*;
import static net.rrm.ehour.it.driver.UserManagementDriver.createRegularUser;
import static org.junit.Assert.assertEquals;
public abstract class ProjectManagementDriver {
public static void navigateToPm() {
Driver.get(BASE_URL + "/eh/pm");
}
public static void assertPmLoaded() {
assertEquals("Project Management", Driver.getTitle());
}
public static UserManagementDriver.ItUser createProjectWithRegularUserAsPM() {
loginAdmin();
UserManagementDriver.ItUser user = createRegularUser();
CustomerManagementDriver.ItCustomer customer = createActiveCustomer();
loadProjectAdmin();
fillProjectForm(ACTIVE_PROJECT, customer, true);
selectProjectManager("Edeling, Thies");
storeProject();
logout();
return user;
}
public static void clickFirstProject() {
findElement("entrySelectorFrame_entrySelectorFrame__body_projectSelector_entrySelectorFrame_blueBorder_blueBorder__body_listScroll_itemList_0").click();
}
public static void makeFirstAssignmentInActive() {
findElement("content_border_border__body_assignments_assignmentContainer_assignments_0_container").click();
findElement("content_border_border__body_assignments_assignmentContainer_assignments_0_container_editForm_active").click();
findElement("content_border_border__body_assignments_assignmentContainer_assignments_0_container_editForm_submit").click();
}
public static void submit() {
findElement("content_border_border__body_submitButton").click();
}
public static void assertAssignmentsUpdated() {
assertEquals("assignments updated", findElement("content_border_border__body_serverMessage").getText());
}
}