blob: 65e2e8d8cc4de597f22cc755f7516ca4592bcd62 [file] [log] [blame]
package com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.tasks;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.pageobjects.buildmonitor.ConfigureBuildMonitor;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.pageobjects.jenkins.NewView;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.actions.Action;
import org.jvnet.hudson.test.JenkinsRule;
import org.openqa.selenium.WebDriver;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.actions.Click.click;
import static com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.actions.Enter.enter;
import static com.smartcodeltd.jenkinsci.plugins.buildmonitor_acceptance.scenarios.actions.Navigate.navigateTo;
public class CreateBuildMonitorView implements Action {
public static CreateBuildMonitorView createABuildMonitorView(String name) {
return new CreateBuildMonitorView(name);
}
public Action that(Action... configurationPlans) {
configurationPlan.addAll(Arrays.asList(configurationPlans));
return this;
}
@Override
public void executeUsing(JenkinsRule jenkins, WebDriver browser) throws Exception {
configurationPlan.add(click(ConfigureBuildMonitor.screen().OK()));
for(Action action : configurationPlan) {
action.executeUsing(jenkins, browser);
}
}
private List<Action> configurationPlan;
private CreateBuildMonitorView(final String name) {
this.configurationPlan = new ArrayList<Action>() {{
NewView newView = NewView.screen();
add(navigateTo(newView));
add(enter(name, newView.name()));
add(click(newView.mode("Build Monitor View")));
add(click(newView.OK()));
}};
}
}