JustBeforeEach(func() { handler.CancelTask(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) Context("when the cancel request is normal", func() { Context("when canceling the task in the db succeeds", func() { BeforeEach(func() { cellPresence := models.CellPresence{CellId: "cell-id"} fakeServiceClient.CellByIdReturns(&cellPresence, nil) }) 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")) response := &models.TaskLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) }) Context("and the task has a complete URL", func() { BeforeEach(func() { task := model_helpers.NewValidTask("hi-bob") task.CompletionCallbackUrl = "bogus" fakeTaskDB.CancelTaskReturns(task, cellID, nil)