Example #1
0
				It("returns an error", func() {
					_, err := GetBuild(client, "", expectedBuildID, "")
					Expect(err).To(MatchError("build not found"))
				})
			})
		})

		Context("when passed a pipeline and job name", func() {
			Context("when job exists", func() {
				Context("when the next build exists", func() {
					BeforeEach(func() {
						job := atc.Job{
							Name:      expectedJobName,
							NextBuild: &expectedBuild,
						}
						client.JobReturns(job, true, nil)
					})

					It("returns the next build for that job", func() {
						build, err := GetBuild(client, expectedJobName, "", expectedPipelineName)
						Expect(err).NotTo(HaveOccurred())
						Expect(build).To(Equal(expectedBuild))
						Expect(client.JobCallCount()).To(Equal(1))
						pipelineName, jobName := client.JobArgsForCall(0)
						Expect(pipelineName).To(Equal(expectedPipelineName))
						Expect(jobName).To(Equal(expectedJobName))
					})
				})

				Context("when the only the finished build exists", func() {
					BeforeEach(func() {
Example #2
0
					},
				},
			}, true, nil)
		})

		It("calls to get the job from the client", func() {
			actualPipelineName, actualJobName := fakeClient.JobArgsForCall(0)
			Expect(actualPipelineName).To(Equal("some-pipeline"))
			Expect(actualJobName).To(Equal("some-job"))
		})

		Context("when the client returns an error", func() {
			var expectedErr error
			BeforeEach(func() {
				expectedErr = errors.New("nope")
				fakeClient.JobReturns(atc.Job{}, false, expectedErr)
			})

			It("returns an error", func() {
				Expect(fetchErr).To(Equal(expectedErr))
			})
		})

		Context("when the job could not be found", func() {
			BeforeEach(func() {
				fakeClient.JobReturns(atc.Job{}, false, nil)
			})

			It("returns an error", func() {
				Expect(fetchErr).To(Equal(ErrJobConfigNotFound))
			})