blob: ecdf5075ce0a9b4d3f67c820905623de541aafe0 [file] [log] [blame]
package com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.actions.Action;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.adapters.JenkinsAdapter;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.prerequisites.Prerequisite;
import org.jvnet.hudson.test.JenkinsRule;
import org.openqa.selenium.WebDriver;
import java.io.IOException;
public class Scenario {
public static Scenario using(JenkinsRule jenkins, WebDriver browser) {
return new Scenario(jenkins, browser);
}
public Scenario WhenIHave(Prerequisite... prerequisites) throws IOException {
return IHave(prerequisites);
}
public Scenario IHave(Prerequisite... prerequisites) throws IOException {
Context currentContext = new Context(new JenkinsAdapter(jenkins.getInstance()));
for(Prerequisite prerequisite : prerequisites) {
currentContext = prerequisite.accept(currentContext);
}
return this;
}
public Scenario I(Action... plans) throws Exception {
return WhenI(plans);
}
public Scenario WhenI(Action... plans) throws Exception {
for(Action plan : plans) {
plan.executeUsing(jenkins, browser);
}
return this;
}
private JenkinsRule jenkins;
private WebDriver browser;
private Scenario(JenkinsRule jenkins, WebDriver browser) {
this.jenkins = jenkins;
this.browser = browser;
}
}