Ω(buildID).Should(Equal(42)) Ω(savedEvent).Should(BeAssignableToTypeOf(event.FinishTask{})) Ω(savedEvent.(event.FinishTask).ExitStatus).Should(Equal(1)) Ω(savedEvent.(event.FinishTask).Time).Should(BeNumerically("<=", time.Now().Unix(), 1)) Ω(savedEvent.(event.FinishTask).Origin).Should(Equal(event.Origin{ Type: event.OriginTypeTask, Name: "some-task", Location: location, })) }) }) }) Describe("Failed", func() { JustBeforeEach(func() { executionDelegate.Failed(errors.New("nope")) }) It("does not save the build's input", func() { Ω(fakeDB.SaveBuildInputCallCount()).Should(BeZero()) }) It("saves an error event", func() { Ω(fakeDB.SaveBuildEventCallCount()).Should(Equal(1)) buildID, savedEvent := fakeDB.SaveBuildEventArgsForCall(0) Ω(buildID).Should(Equal(42)) Ω(savedEvent).Should(Equal(event.Error{ Message: "nope", Origin: event.Origin{ Type: event.OriginTypeTask,