package com.smartcodeltd.jenkinsci.plugins.build_monitor.questions.project_widget;
import com.smartcodeltd.jenkinsci.plugins.build_monitor.model.ProjectInformation;
import com.smartcodeltd.jenkinsci.plugins.build_monitor.model.ProjectStatus;
import com.smartcodeltd.jenkinsci.plugins.build_monitor.user_interface.BuildMonitorDashboard;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Question;
import net.serenitybdd.screenplay.annotations.Subject;
import net.serenitybdd.screenplay.questions.Attribute;
import net.serenitybdd.screenplay.targets.Target;
@Subject("the widget representing the '#projectName' project on the Build Monitor")
public class ProjectWidgetInformation implements Question<ProjectInformation> {
@Override
public ProjectInformation answeredBy(Actor actor) {
Target widget = BuildMonitorDashboard.Project_Widget.of(projectName);
String cssClasses = Attribute.of(widget).named("class").viewedBy(actor).asString();
return new ProjectInformation(projectName, ProjectStatus.fromMultiple(cssClasses));
}
public ProjectWidgetInformation(String projectName) {
this.projectName = projectName;
}
private final String projectName;
}