Context("when job does not exists", func() { BeforeEach(func() { client.JobReturns(atc.Job{}, false, nil) }) It("returns an error", func() { _, err := GetBuild(client, expectedJobName, "", expectedPipelineName) Expect(err).To(MatchError("job not found")) }) }) }) Context("when passed pipeline, job, and build names", func() { Context("when the build exists", func() { BeforeEach(func() { client.JobBuildReturns(expectedBuild, true, nil) }) It("returns the build", func() { build, err := GetBuild(client, expectedJobName, expectedBuildName, expectedPipelineName) Expect(err).NotTo(HaveOccurred()) Expect(build).To(Equal(expectedBuild)) Expect(client.JobBuildCallCount()).To(Equal(1)) pipelineName, jobName, buildName := client.JobBuildArgsForCall(0) Expect(pipelineName).To(Equal(expectedPipelineName)) Expect(buildName).To(Equal(expectedBuildName)) Expect(jobName).To(Equal(expectedJobName)) }) }) Context("when the build does not exist", func() {