Skip to content

Commit 013670f

Browse files
committed
Improve pipeline building status unit tests
1 parent db3433f commit 013670f

3 files changed

Lines changed: 41 additions & 0 deletions

File tree

‎src/test/java/in/ashwanthkumar/gocd/github/jsonapi/PipelineHistoryTest.java‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,33 @@ public void shouldShowPipelineNotRunnableWhenJobsBuilding() {
8888
assertThat(history.isPipelineRunningOrScheduled(), is(true));
8989
}
9090

91+
@Test
92+
public void shouldShowPipelineNotRunnableWhenOneOfMultipleJobsBuilding() {
93+
94+
final boolean canRunPipeline = true;
95+
final boolean preparingToSchedule = false;
96+
final boolean canRunStage = true;
97+
98+
List<Pipeline> pipelines = asList(
99+
new Pipeline(
100+
preparingToSchedule,
101+
canRunPipeline,
102+
asList(
103+
new Stage(
104+
canRunStage,
105+
asList(
106+
new Job("Completed"),
107+
new Job("Building"),
108+
new Job("Completed")
109+
)
110+
)
111+
)
112+
)
113+
);
114+
115+
PipelineHistory history = new PipelineHistory(pipelines);
116+
117+
assertThat(history.isPipelineRunningOrScheduled(), is(true));
118+
}
119+
91120
}

‎src/test/java/in/ashwanthkumar/gocd/github/jsonapi/PipelineTest.java‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,17 @@ public static Collection<Object[]> data() {
4444
{PreparingToSchedule.YES, CanRun.NO, stagesRunningOrScheduled(false), true},
4545
{PreparingToSchedule.NO, CanRun.YES, stagesRunningOrScheduled(false), false},
4646
{PreparingToSchedule.NO, CanRun.NO, stagesRunningOrScheduled(false), true},
47+
48+
// Multiple stages
49+
{PreparingToSchedule.YES, CanRun.YES, stagesRunningOrScheduled(false, false, true), true},
50+
{PreparingToSchedule.YES, CanRun.NO, stagesRunningOrScheduled(false, false, true), true},
51+
{PreparingToSchedule.NO, CanRun.YES, stagesRunningOrScheduled(false, false, true), true},
52+
{PreparingToSchedule.NO, CanRun.NO, stagesRunningOrScheduled(false, false, true), true},
53+
54+
{PreparingToSchedule.YES, CanRun.YES, stagesRunningOrScheduled(false, false, true, false), true},
55+
{PreparingToSchedule.YES, CanRun.NO, stagesRunningOrScheduled(false, false, true, false), true},
56+
{PreparingToSchedule.NO, CanRun.YES, stagesRunningOrScheduled(false, false, true, false), true},
57+
{PreparingToSchedule.NO, CanRun.NO, stagesRunningOrScheduled(false, false, true, false), true},
4758
});
4859
}
4960

‎src/test/java/in/ashwanthkumar/gocd/github/jsonapi/StageTest.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public static Collection<Object[]> data() {
3535
{CanRun.NO, jobsRunningOrScheduled(true), true},
3636
{CanRun.YES, jobsRunningOrScheduled(true), true},
3737
{CanRun.YES, jobsRunningOrScheduled(false, false, true), true},
38+
{CanRun.YES, jobsRunningOrScheduled(false, true, false), true},
3839
});
3940
}
4041

0 commit comments

Comments
 (0)