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))
			})
		})
	})