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) err := actor.UpdateAllPlansForService("my-mixed-service", true) Expect(err).ToNot(HaveOccurred()) servicePlan, serviceGUID, public := servicePlanRepo.UpdateArgsForCall(0) Expect(servicePlan.Public).To(BeFalse()) Expect(serviceGUID).To(Equal("my-mixed-service-guid")) Expect(public).To(BeTrue()) }) It("Does not try to update service plans if they are all already public", func() { servicePlanRepo.SearchReturns = map[string][]models.ServicePlanFields{ "my-public-service-guid": { publicServicePlan, publicServicePlan, }, } err := actor.UpdateAllPlansForService("my-public-service", true) Expect(err).ToNot(HaveOccurred())