It("responds with 200 Status OK", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) It("returns a list of actual lrp groups", func() { response := &models.ActualLRPGroups{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response).To(Equal(actualLRPGroups)) }) Context("and no filter is provided", func() { It("call the DB with no filters to retrieve the actual lrp groups", func() { Expect(fakeActualLRPDB.ActualLRPGroupsCallCount()).To(Equal(1)) _, filter := fakeActualLRPDB.ActualLRPGroupsArgsForCall(0) Expect(filter).To(Equal(models.ActualLRPFilter{})) }) }) Context("and filtering by domain", func() { BeforeEach(func() { var err error request, err = http.NewRequest("", "http://example.com?domain=domain-1", nil) Expect(err).NotTo(HaveOccurred()) }) It("call the DB with the domain filter to retrieve the actual lrp groups", func() { Expect(fakeActualLRPDB.ActualLRPGroupsCallCount()).To(Equal(1)) _, filter := fakeActualLRPDB.ActualLRPGroupsArgsForCall(0) Expect(filter.Domain).To(Equal("domain-1"))