Describe("CancelTask", func() { Context("when the cancel request is normal", func() { BeforeEach(func() { requestBody = &models.TaskGuidRequest{ TaskGuid: "task-guid", } }) JustBeforeEach(func() { request := newTestRequest(requestBody) handler.CancelTask(responseRecorder, request) }) Context("when canceling the task succeeds", func() { It("returns no error", func() { Expect(fakeTaskDB.CancelTaskCallCount()).To(Equal(1)) taskLogger, taskGuid := fakeTaskDB.CancelTaskArgsForCall(0) Expect(taskLogger.SessionName()).To(ContainSubstring("cancel-task")) Expect(taskGuid).To(Equal("task-guid")) 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 desiring the task fails", func() { BeforeEach(func() { fakeTaskDB.CancelTaskReturns(models.ErrUnknownError)