Eventually(process.Wait()).Should(Receive(Equal(disaster))) }) It("invokes the delegate's Failed callback", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) Ω(taskDelegate.FailedCallCount()).Should(Equal(1)) Ω(taskDelegate.FailedArgsForCall(0)).Should(Equal(disaster)) }) }) }) Context("when the process id cannot be found", func() { disaster := errors.New("nope") BeforeEach(func() { fakeContainer.PropertyReturns("", disaster) }) It("exits with the failure", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) }) It("invokes the delegate's Failed callback", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) Eventually(taskDelegate.FailedCallCount()).Should(Equal(1)) Ω(taskDelegate.FailedArgsForCall(0)).Should(Equal(disaster)) }) }) }) }) })