Context("when provided exactly one arg", func() { BeforeEach(func() { flagContext.Parse("domain-name") }) It("returns a LoginRequirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) Expect(factory.NewLoginRequirementCallCount()).To(Equal(1)) Expect(actualRequirements).To(ContainElement(loginRequirement)) }) It("returns a DomainRequirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) Expect(factory.NewDomainRequirementCallCount()).To(Equal(1)) Expect(factory.NewDomainRequirementArgsForCall(0)).To(Equal("domain-name")) Expect(actualRequirements).To(ContainElement(domainRequirement)) }) Context("when a path is passed", func() { BeforeEach(func() { flagContext = flags.NewFlagContext(cmd.MetaData().Flags) flagContext.Parse("domain-name", "--path", "the-path") }) It("returns a MinAPIVersionRequirement as the first requirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred())