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.GetServiceByNameWithPlansReturns(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.GetServiceByNameWithPlansReturns(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() { serviceBuilder.GetServiceByNameWithPlansReturns(mixedService, nil)
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.GetServiceByNameWithPlansReturns(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.GetServiceByNameWithPlansReturns(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() { serviceBuilder.GetServiceByNameWithPlansReturns(mixedService, nil)