cmd = &user.SetSpaceRole{} cmd.SetDependency(deps, false) requirementsFactory = &testreq.FakeReqFactory{} flagContext = flags.NewFlagContext(map[string]flags.FlagSet{}) }) Describe("Requirements", func() { Context("when not provided exactly four args", func() { BeforeEach(func() { flagContext.Parse("the-username", "the-org-name", "the-space-name") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(requirementsFactory, flagContext) }).To(Panic()) Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage. Requires USERNAME, ORG, SPACE, ROLE as arguments"}, []string{"NAME"}, []string{"USAGE"}, )) }) }) Context("when provided three args", func() { BeforeEach(func() { flagContext.Parse("the-username", "the-org-name", "the-space-name", "SpaceManager") }) It("returns a LoginRequirement", func() { requirementsFactory.LoginSuccess = false