package net.serenitybdd.screenplay.jenkins.tasks.configuration.build_steps;
import net.serenitybdd.screenplay.jenkins.user_interface.project_configuration.build_steps.GroovyPostBuildStep;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Task;
import net.serenitybdd.screenplay.actions.Enter;
import net.thucydides.core.annotations.Step;
import static net.serenitybdd.screenplay.Tasks.instrumented;
public class AddAGroovyPostbuildScript implements Task {
public static Task that(GroovyScript expectedOutcome) {
return instrumented(AddAGroovyPostbuildScript.class, expectedOutcome);
}
@Step("{0} configures the Groovy PostBuild Step to execute a script that '#scriptOutcome'")
@Override
public <T extends Actor> void performAs(T actor) {
actor.attemptsTo(
AddAPostBuildAction.called("Groovy Postbuild"),
Enter.theValue(scriptOutcome.code()).into(GroovyPostBuildStep.Editor)
);
}
public AddAGroovyPostbuildScript(GroovyScript script) {
this.scriptOutcome = script;
}
private final GroovyScript scriptOutcome;
}