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 := &testapi.FakeServiceBuilder{} serviceBuilder.GetAllServicesWithPlansReturns([]models.ServiceOffering{}, nil) testcmd.RunCliCommand("marketplace", []string{}, requirementsFactory, updateCommandDependency, false) 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) 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) Expect(ui.Outputs).To(ContainSubstrings(