createJob, createResources, createInputs := factory.CreateArgsForCall(0) Ω(createJob).Should(Equal(job)) Ω(createResources).Should(Equal(resources)) Ω(createInputs).Should(Equal(pendingInputs)) Ω(fakeEngine.CreateBuildCallCount()).Should(Equal(1)) builtBuild, plan := fakeEngine.CreateBuildArgsForCall(0) Ω(builtBuild).Should(Equal(pendingBuild)) Ω(plan).Should(Equal(createdPlan)) }) Context("when scanning fails", func() { disaster := errors.New("nope") BeforeEach(func() { fakeScanner.ScanReturns(disaster) }) It("errors the build", func() { Ω(fakeBuildsDB.ErrorBuildCallCount()).Should(Equal(1)) buildID, err := fakeBuildsDB.ErrorBuildArgsForCall(0) Ω(buildID).Should(Equal(128)) Ω(err).Should(Equal(disaster)) }) }) }) }) Context("when the build cannot be scheduled", func() { BeforeEach(func() {