JustBeforeEach(func() { templateData, fetchErr = FetchTemplateData("3", fakeClient) }) It("uses the client to get the build", func() { Expect(fakeClient.BuildCallCount()).To(Equal(1)) Expect(fakeClient.BuildArgsForCall(0)).To(Equal("3")) }) Context("when the client returns an error", func() { var expectedError error BeforeEach(func() { expectedError = errors.New("NOOOOOOO") fakeClient.BuildReturns(atc.Build{}, false, expectedError) }) It("returns the error", func() { Expect(fetchErr).To(HaveOccurred()) Expect(fetchErr).To(Equal(expectedError)) }) }) Context("when the client returns not found", func() { BeforeEach(func() { fakeClient.BuildReturns(atc.Build{}, false, nil) }) It("returns the error", func() { Expect(fetchErr).To(HaveOccurred())
ID: 123, Name: expectedBuildName, Status: "Great Success", JobName: expectedJobName, URL: fmt.Sprintf("/pipelines/%s/jobs/%s/builds/%s", expectedPipelineName, expectedJobName, expectedBuildName), APIURL: fmt.Sprintf("api/v1/builds/%s", expectedBuildID), } BeforeEach(func() { client = new(fakes.FakeClient) }) Context("when passed a build id", func() { Context("when build exists", func() { BeforeEach(func() { client.BuildReturns(expectedBuild, true, nil) }) It("returns the build", func() { build, err := GetBuild(client, "", expectedBuildID, "") Expect(err).NotTo(HaveOccurred()) Expect(build).To(Equal(expectedBuild)) Expect(client.BuildCallCount()).To(Equal(1)) Expect(client.BuildArgsForCall(0)).To(Equal(expectedBuildID)) }) }) Context("when a build does not exist", func() { BeforeEach(func() { client.BuildReturns(atc.Build{}, false, nil) })