package com.smartcodeltd.jenkinsci.plugins.buildmonitor.viewmodel.features;
import com.smartcodeltd.jenkinsci.plugins.buildmonitor.viewmodel.JobView;
import org.junit.Test;
import static com.smartcodeltd.jenkinsci.plugins.buildmonitor.viewmodel.syntacticsugar.Sugar.*;
import static hudson.model.Result.FAILURE;
import static org.hamcrest.Matchers.hasItem;
import static org.junit.Assert.assertThat;
public class CanBeDiagnosedForProblemsTest {
private JobView job;
@Test
public void should_describe_known_problems() {
String rogueAi = "Pod bay doors didn't open";
job = a(jobView().which(new CanBeDiagnosedForProblems()).of(
a(job().whereTheLast(build().finishedWith(FAILURE).and().knownProblems(rogueAi)))));
assertThat(diagnosedFailuresOf(job).value(), hasItem(rogueAi));
}
private CanBeDiagnosedForProblems.Problems diagnosedFailuresOf(JobView job) {
return job.which(CanBeDiagnosedForProblems.class).asJson();
}
}