Context("when desiring the task fails", func() { Context("because of an unknown error", func() { BeforeEach(func() { fakeBBSClient.DesireTaskReturns(errors.New("boom!")) }) It("returns a StatusBadRequest", func() { Expect(fakeBBSClient.DesireTaskCallCount()).To(Equal(1)) Expect(responseRecorder.Code).To(Equal(http.StatusBadRequest)) }) }) }) Context("when the requested lifecycle does not have a corresponding builder", func() { BeforeEach(func() { taskRequest.Lifecycle = "something-else" }) It("responds with a 400 Bad Request", func() { Expect(responseRecorder.Code).To(Equal(http.StatusBadRequest)) }) It("does not send a request to bbs", func() { Expect(fakeBBSClient.DesireTaskCallCount()).To(Equal(0)) }) It("does not build a task", func() { Expect(buildpackBuilder.BuildTaskCallCount()).To(Equal(0)) }) }) })