@Test
public void shouldPopulateAllFieldsInReturnedPropertiesForDisplay() {
FetchTask fetchTask = new FetchTask(new CaseInsensitiveString("foo-pipeline"), new CaseInsensitiveString("bar-stage"), new CaseInsensitiveString("baz-job"), "quux.c", "bang-file");
assertThat(fetchTask.getPropertiesForDisplay(), hasItems(new TaskProperty("Pipeline Name", "foo-pipeline", "pipeline_name"),
new TaskProperty("Stage Name", "bar-stage", "stage_name"), new TaskProperty("Job Name", "baz-job", "job_name"),
new TaskProperty("Source File", "quux.c", "source_file"), new TaskProperty("Destination", "bang-file", "destination")));
assertThat(fetchTask.getPropertiesForDisplay().size(), is(5));
fetchTask = new FetchTask(new CaseInsensitiveString("foo-pipeline"), new CaseInsensitiveString("bar-stage"), new CaseInsensitiveString("baz-job"), null, "bang-file");
fetchTask.setSrcdir("foo/src");
assertThat(fetchTask.getPropertiesForDisplay(), hasItems(new TaskProperty("Pipeline Name", "foo-pipeline", "pipeline_name"),
new TaskProperty("Stage Name", "bar-stage", "stage_name"), new TaskProperty("Job Name", "baz-job", "job_name"),
new TaskProperty("Source Directory", "foo/src", "source_directory"), new TaskProperty("Destination", "bang-file", "destination")));
assertThat(fetchTask.getPropertiesForDisplay().size(), is(5));
fetchTask = new FetchTask(new CaseInsensitiveString(null), new CaseInsensitiveString("bar-stage"), new CaseInsensitiveString("baz-job"), null, null);
assertThat(fetchTask.getPropertiesForDisplay(), hasItems(new TaskProperty("Stage Name", "bar-stage", "stage_name"), new TaskProperty("Job Name", "baz-job", "job_name")));
assertThat(fetchTask.getPropertiesForDisplay().size(), is(2));
}