Expect(runCommand([]string{"-p", publicServicePlanName, serviceName})).To(BeTrue()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"OK"}, )) Expect(actor.UpdateSinglePlanForServiceCallCount()).To(Equal(1)) service, plan, disable := actor.UpdateSinglePlanForServiceArgsForCall(0) Expect(service).To(Equal(serviceName)) Expect(plan).To(Equal(publicServicePlanName)) Expect(disable).To(BeFalse()) }) }) Context("the user provides an org", func() { It("prints an error if updating the plan fails", func() { actor.UpdateOrgForServiceReturns(errors.New("could not find org")) Expect(runCommand([]string{"-o", "not-findable-org", serviceName})).To(BeFalse()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"could not find org"}, )) }) It("disables the service for that org", func() { Expect(runCommand([]string{"-o", orgName, serviceName})).To(BeTrue()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"OK"}, )) Expect(actor.UpdateOrgForServiceCallCount()).To(Equal(1)) service, org, disable := actor.UpdateOrgForServiceArgsForCall(0)
}) It("tells the user the plan is being updated if it is not public", func() { actor.UpdatePlanAndOrgForServiceReturns(actors.None, nil) Expect(runCommand([]string{"-p", "private-service-plan", "-o", "my-org", "service"})).To(BeTrue()) Expect(ui.Outputs).To(ContainSubstrings( []string{"Enabling access to plan private-service-plan of service service for org my-org as"}, []string{"OK"}, )) }) }) Context("the user provides an org", func() { It("fails if the org does not exist", func() { actor.UpdateOrgForServiceReturns(false, errors.New("could not find org")) Expect(runCommand([]string{"-o", "not-findable-org", "service"})).To(BeTrue()) Expect(ui.Outputs).To(ContainSubstrings( []string{"could not find org"}, )) }) It("tells the user if the service's plans are already accessible", func() { actor.UpdateOrgForServiceReturns(true, nil) Expect(runCommand([]string{"-o", "my-org", "service"})).To(BeTrue()) Expect(ui.Outputs).To(ContainSubstrings( []string{"All plans of the service are already accessible for this org"}, []string{"OK"}, ))