package com.sonyericsson.jenkins.plugins.bfa; import com.sonyericsson.jenkins.plugins.bfa.user_interface.JenkinsHomePageWithBFA; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Click; import net.serenitybdd.screenplay.jenkins.tasks.configuration.TodoList; import net.serenitybdd.screenplay.jenkins.user_interface.navigation.Breadcrumbs; import net.thucydides.core.annotations.Step; import java.util.List; import static java.util.Arrays.asList; import static net.serenitybdd.screenplay.Tasks.instrumented; public class UseFailureCauseManagement implements Task { public static UseFailureCauseManagement to(Task... defineFailureCauses) { return instrumented(UseFailureCauseManagement.class, asList(defineFailureCauses)); } @Step("{0} uses the 'Failure Cause Management'") @Override public <T extends Actor> void performAs(T actor) { actor.attemptsTo( Click.on(JenkinsHomePageWithBFA.Failure_Cause_Management_Link), defineFailureCauses, Click.on(Breadcrumbs.Jenkins_Link) ); } private final TodoList defineFailureCauses = TodoList.empty(); public UseFailureCauseManagement(List<Task> defineFailureCauses) { this.defineFailureCauses.addAll(defineFailureCauses); } }