Context("when provided four args", func() { BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name", "the-space-name", "SpaceManager") }) It("returns a LoginRequirement", func() { actualRequirements := cmd.Requirements(factory, flagContext) Expect(factory.NewLoginRequirementCallCount()).To(Equal(1)) Expect(actualRequirements).To(ContainElement(loginRequirement)) }) It("returns an OrgRequirement", func() { actualRequirements := cmd.Requirements(factory, flagContext) Expect(factory.NewOrganizationRequirementCallCount()).To(Equal(1)) Expect(factory.NewOrganizationRequirementArgsForCall(0)).To(Equal("the-org-name")) Expect(actualRequirements).To(ContainElement(organizationRequirement)) }) Context("when the config version is >=2.37.0", func() { BeforeEach(func() { configRepo.SetAPIVersion("2.37.0") }) It("requests the unset_roles_by_username flag", func() { cmd.Requirements(factory, flagContext) Expect(flagRepo.FindByNameCallCount()).To(Equal(1)) Expect(flagRepo.FindByNameArgsForCall(0)).To(Equal("unset_roles_by_username")) })