fakeTaskDB.TasksReturns(tasks, nil) }) It("returns a list of task", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := models.TasksResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) Expect(response.Tasks).To(Equal(tasks)) }) It("calls the DB with no filter", func() { Expect(fakeTaskDB.TasksCallCount()).To(Equal(1)) _, filter := fakeTaskDB.TasksArgsForCall(0) Expect(filter).To(Equal(models.TaskFilter{})) }) Context("and filtering by domain", func() { BeforeEach(func() { requestBody = &models.TasksRequest{ Domain: "domain-1", } }) It("calls the DB with a domain filter", func() { Expect(fakeTaskDB.TasksCallCount()).To(Equal(1)) _, filter := fakeTaskDB.TasksArgsForCall(0) Expect(filter.Domain).To(Equal("domain-1")) })