fakeClient *cfakes.FakeClient fetchErr error templateData TemplateData ) BeforeEach(func() { fakeClient = new(cfakes.FakeClient) }) 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)) }) })
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) }) It("returns an error", func() { _, err := GetBuild(client, "", expectedBuildID, "") Expect(err).To(MatchError("build not found")) }) }) })