package com.sonyericsson.jenkins.plugins.bfa.tasks; import com.sonyericsson.jenkins.plugins.bfa.user_interface.FailureCauseManagementPage; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Click; import net.serenitybdd.screenplay.actions.Enter; import net.serenitybdd.screenplay.jenkins.tasks.configuration.TodoList; import static net.serenitybdd.screenplay.Tasks.instrumented; public class DefineAFailureCause implements Task { public static DefineAFailureCause called(String name) { return instrumented(DefineAFailureCause.class, name); } public DefineAFailureCause describedAs(String description) { this.description = description; return this; } public DefineAFailureCause indicatedBy(Task... configurationTasks) { configureFailureCauseIndicators.addAll(configurationTasks); return this; } @Override public <T extends Actor> void performAs(T actor) { actor.attemptsTo( Click.on(FailureCauseManagementPage.Create_New_Link), Enter.theValue(name).into(FailureCauseManagementPage.Name), Enter.theValue(description).into(FailureCauseManagementPage.Description), configureFailureCauseIndicators, Click.on(FailureCauseManagementPage.Save) ); } private final String name; private String description = ""; private final TodoList configureFailureCauseIndicators = TodoList.empty(); public DefineAFailureCause(String name) { this.name = name; } }