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 := new(servicebuilderfakes.FakeServiceBuilder) serviceBuilder.GetAllServicesWithPlansReturns([]models.ServiceOffering{}, nil) testcmd.RunCLICommand("marketplace", []string{}, requirementsFactory, updateCommandDependency, false, ui) Expect(ui.Outputs()).To(ContainSubstrings( []string{"No service offerings found"}, )) Expect(ui.Outputs()).ToNot(ContainSubstrings( []string{"service", "plans", "description"}, )) }) Context("when the user passes the -s flag", func() { It("Displays the list of plans for each service with info", func() { serviceBuilder.GetServiceByNameWithPlansReturns(serviceWithAPaidPlan, nil) testcmd.RunCLICommand("marketplace", []string{"-s", "aaa-my-service-offering"}, requirementsFactory, updateCommandDependency, false, ui) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Getting service plan information for service aaa-my-service-offering"}, []string{"OK"}, []string{"service plan", "description", "free or paid"}, []string{"service-plan-a", "service-plan-a description", "free"}, []string{"service-plan-b", "service-plan-b description", "paid"}, )) }) It("informs the user if the service cannot be found", func() { testcmd.RunCLICommand("marketplace", []string{"-s", "aaa-my-service-offering"}, requirementsFactory, updateCommandDependency, false, ui) Expect(ui.Outputs()).To(ContainSubstrings(