Describe("GetAll", func() { Context("when reading LRPs from BBS succeeds", func() { BeforeEach(func() { fakeBBS.ActualLRPGroupsReturns([]models.ActualLRPGroup{ {Instance: &actualLRP1}, {Instance: &actualLRP2, Evacuating: &evacuatingLRP2}, }, nil) fakeBBS.ActualLRPGroupsByDomainReturns([]models.ActualLRPGroup{ {Instance: &actualLRP2, Evacuating: &evacuatingLRP2}, }, nil) }) It("calls the BBS to retrieve the actual LRP groups", func() { handler.GetAll(responseRecorder, newTestRequest("")) Expect(fakeBBS.ActualLRPGroupsCallCount()).To(Equal(1)) }) It("responds with 200 Status OK", func() { handler.GetAll(responseRecorder, newTestRequest("")) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) Context("when a domain query param is provided", func() { It("returns a list of desired lrp responses for the domain", func() { request, err := http.NewRequest("", "http://example.com?domain=domain-1", nil) Expect(err).NotTo(HaveOccurred()) handler.GetAll(responseRecorder, request) response := []receptor.ActualLRPResponse{} err = json.Unmarshal(responseRecorder.Body.Bytes(), &response)