package com.smartcodeltd.jenkinsci.plugins.build_monitor.tasks; import com.smartcodeltd.jenkinsci.plugins.build_monitor.tasks.configuration.SaveTheChangesToBuildMonitor; import net.serenitybdd.screenplay.jenkins.tasks.configuration.TodoList; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Performable; import net.serenitybdd.screenplay.Task; 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 ConfigureEmptyBuildMonitorView implements Task { public static ConfigureEmptyBuildMonitorView to(Task... configurationTasks) { return instrumented(ConfigureEmptyBuildMonitorView.class, asList(configurationTasks)); } @Override @Step("{0} configures the Build Monitor View") public <T extends Actor> void performAs(T actor) { actor.attemptsTo( AddProjects.toAnEmptyBuildMonitor(), configureTheView, SaveTheChangesToBuildMonitor.andExitTheConfigurationScreen() ); } public ConfigureEmptyBuildMonitorView(List<Performable> actions) { this.configureTheView.addAll(actions); } private TodoList configureTheView = TodoList.empty(); }