}) Describe("Cancel", func() { BeforeEach(func() { var err error request, err = http.NewRequest("", "http://example.com?:task_guid=the-task-guid", nil) Expect(err).NotTo(HaveOccurred()) }) JustBeforeEach(func() { handler.Cancel(responseRecorder, request) }) Context("when the task cannot be found in the BBS", func() { BeforeEach(func() { fakeBBS.CancelTaskReturns(bbserrors.ErrStoreResourceNotFound) }) It("responds with a 404 NOT FOUND", func() { Expect(responseRecorder.Code).To(Equal(http.StatusNotFound)) }) It("responds with a TaskNotFound error in the body", func() { var taskError receptor.Error err := json.Unmarshal(responseRecorder.Body.Bytes(), &taskError) Expect(err).NotTo(HaveOccurred()) Expect(taskError).To(Equal(receptor.Error{ Type: receptor.TaskNotFound, Message: "task with guid 'the-task-guid' not found", }))