_, actualTaskGuid, actualFailureReason := fakeTaskDB.FailTaskArgsForCall(0) Expect(actualTaskGuid).To(Equal(taskGuid)) Expect(actualFailureReason).To(Equal(failureReason)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.TaskLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) }) }) Context("when failing the task fails", func() { BeforeEach(func() { fakeTaskDB.FailTaskReturns(models.ErrUnknownError) }) It("responds with an error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.TaskLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(Equal(models.ErrUnknownError)) }) }) }) Describe("CompleteTask", func() { var (