cmd = &user.UnsetSpaceRole{} cmd.SetDependency(deps, false) flagContext = flags.NewFlagContext(map[string]flags.FlagSet{}) factory = new(requirementsfakes.FakeFactory) loginRequirement = &passingRequirement{} factory.NewLoginRequirementReturns(loginRequirement) userRequirement = new(requirementsfakes.FakeUserRequirement) userRequirement.ExecuteReturns(nil) factory.NewUserRequirementReturns(userRequirement) organizationRequirement = new(requirementsfakes.FakeOrganizationRequirement) organizationRequirement.ExecuteReturns(nil) factory.NewOrganizationRequirementReturns(organizationRequirement) }) Describe("Requirements", func() { Context("when not provided exactly four args", func() { BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name", "the-space-name") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage. Requires USERNAME, ORG, SPACE, ROLE as arguments"}, []string{"NAME"}, []string{"USAGE"},
UI: ui, Config: testconfig.NewRepositoryWithDefaults(), RepoLocator: api.RepositoryLocator{}, PluginModels: &commandregistry.PluginModels{ Organization: getOrgModel, }, } reqFactory = new(requirementsfakes.FakeFactory) loginReq = new(requirementsfakes.FakeRequirement) loginReq.ExecuteReturns(nil) reqFactory.NewLoginRequirementReturns(loginReq) orgRequirement = new(requirementsfakes.FakeOrganizationRequirement) orgRequirement.ExecuteReturns(nil) reqFactory.NewOrganizationRequirementReturns(orgRequirement) cmd = organization.ShowOrg{} flagContext = flags.NewFlagContext(cmd.MetaData().Flags) cmd.SetDependency(deps, false) }) Describe("Requirements", func() { Context("when the wrong number of args are provided", func() { BeforeEach(func() { err := flagContext.Parse() Expect(err).NotTo(HaveOccurred()) }) It("fails with no args", func() {