Describe(".UpdateAllPlansForService", func() { BeforeEach(func() { servicePlanVisibilityRepo.SearchReturns( []models.ServicePlanVisibilityFields{privateServicePlanVisibilityFields}, nil) servicePlanRepo.SearchReturns = map[string][]models.ServicePlanFields{ "my-mixed-service-guid": { publicServicePlan, privateServicePlan, }, } }) It("Returns an error if the service cannot be found", func() { serviceBuilder.GetServiceByNameReturns(models.ServiceOffering{}, errors.New("service was not found")) _, err := actor.UpdateAllPlansForService("not-a-service", true) Expect(err.Error()).To(Equal("service was not found")) }) It("Removes the service plan visibilities for any non-public service plans", func() { serviceBuilder.GetServiceByNameReturns(mixedService, nil) _, err := actor.UpdateAllPlansForService("my-mixed-service", true) Expect(err).ToNot(HaveOccurred()) servicePlanVisibilityGuid := servicePlanVisibilityRepo.DeleteArgsForCall(0) Expect(servicePlanVisibilityGuid).To(Equal("private-service-plan-visibility-guid")) }) Context("when setting all plans to public", func() { It("Sets all non-public service plans to public", func() {
brokerRepo.FindByNameServiceBroker = serviceBroker1 serviceBuilder.GetServicesForBrokerReturns(services, nil) broker, err := brokerBuilder.GetBrokerWithAllServices("my-service-broker") Expect(err).NotTo(HaveOccurred()) Expect(broker.Name).To(Equal("my-service-broker")) Expect(broker.Services[0].Label).To(Equal("my-public-service")) Expect(len(broker.Services[0].Plans)).To(Equal(2)) Expect(broker.Services[1].Label).To(Equal("my-other-public-service")) Expect(len(broker.Services[0].Plans)).To(Equal(2)) }) }) Describe(".GetBrokerWithSpecifiedService", func() { It("returns an error if a broker containeing the specific service cannot be found", func() { serviceBuilder.GetServiceByNameReturns(models.ServiceOffering{}, errors.New("Asplosions")) _, err := brokerBuilder.GetBrokerWithSpecifiedService("totally-not-a-service") Expect(err).To(HaveOccurred()) }) It("returns the service broker populated with the specific service", func() { serviceBuilder.GetServiceByNameReturns(service1, nil) brokerRepo.FindByGuidServiceBroker = serviceBroker1 broker, err := brokerBuilder.GetBrokerWithSpecifiedService("my-public-service") Expect(err).NotTo(HaveOccurred()) Expect(broker.Name).To(Equal("my-service-broker")) Expect(len(broker.Services)).To(Equal(1)) Expect(broker.Services[0].Label).To(Equal("my-public-service")) Expect(len(broker.Services[0].Plans)).To(Equal(2))