failed = true failureReason = "some-error" result = "yeah" requestBody = &models.CompleteTaskRequest{ TaskGuid: taskGuid, CellId: cellId, Failed: failed, FailureReason: failureReason, Result: result, } }) JustBeforeEach(func() { request := newTestRequest(requestBody) handler.CompleteTask(responseRecorder, request) }) Context("when completing the task succeeds", func() { It("returns no error", func() { Expect(fakeTaskDB.CompleteTaskCallCount()).To(Equal(1)) _, actualTaskGuid, actualCellId, actualFailed, actualFailureReason, actualResult := fakeTaskDB.CompleteTaskArgsForCall(0) Expect(actualTaskGuid).To(Equal(taskGuid)) Expect(actualCellId).To(Equal(cellId)) Expect(actualFailed).To(Equal(failed)) Expect(actualFailureReason).To(Equal(failureReason)) Expect(actualResult).To(Equal(result)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.TaskLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes())