}) }) Context("when no env vars are specified", func() { It("passes a nil slice to the BBS", func() { Expect(fakeBBS.DesireTaskCallCount()).To(Equal(1)) _, task := fakeBBS.DesireTaskArgsForCall(0) Expect(task.EnvironmentVariables).To(BeNil()) }) }) }) Context("when the BBS responds with an error", func() { BeforeEach(func() { fakeBBS.DesireTaskReturns(errors.New("ka-boom")) handler.Create(responseRecorder, newTestRequest(validCreateRequest)) }) It("calls DesireTask on the BBS with the correct task", func() { Expect(fakeBBS.DesireTaskCallCount()).To(Equal(1)) _, task := fakeBBS.DesireTaskArgsForCall(0) Expect(task.TaskGuid).To(Equal("task-guid-1")) }) It("responds with 500 INTERNAL ERROR", func() { Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) }) It("responds with a relevant error message", func() { expectedBody, _ := json.Marshal(receptor.Error{