}) Context("when the --path option is given", func() { BeforeEach(func() { flagContext.Parse("space-name", "domain-name", "--path", "path") }) It("returns a MinAPIVersionRequirement", func() { expectedVersion, err := semver.Make("2.36.0") Expect(err).NotTo(HaveOccurred()) actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) Expect(factory.NewMinAPIVersionRequirementCallCount()).To(Equal(1)) commandName, requiredVersion := factory.NewMinAPIVersionRequirementArgsForCall(0) Expect(commandName).To(Equal("create-route")) Expect(requiredVersion).To(Equal(expectedVersion)) Expect(actualRequirements).To(ContainElement(minAPIVersionRequirement)) }) }) Context("when the --path option is not given", func() { BeforeEach(func() { flagContext.Parse("space-name", "domain-name") }) It("does not return a MinAPIVersionRequirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) Expect(actualRequirements).NotTo(ContainElement(minAPIVersionRequirement))
}) Context("when a path is passed", func() { BeforeEach(func() { flagContext.Parse("app-name", "domain-name", "--path", "the-path") }) It("returns a MinAPIVersionRequirement as the first requirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) expectedVersion, err := semver.Make("2.36.0") Expect(err).NotTo(HaveOccurred()) Expect(factory.NewMinAPIVersionRequirementCallCount()).To(Equal(1)) feature, requiredVersion := factory.NewMinAPIVersionRequirementArgsForCall(0) Expect(feature).To(Equal("Option '--path'")) Expect(requiredVersion).To(Equal(expectedVersion)) Expect(actualRequirements[0]).To(Equal(minAPIVersionRequirement)) }) }) Context("when a path is not passed", func() { BeforeEach(func() { flagContext.Parse("app-name", "domain-name") }) It("does not return a MinAPIVersionRequirement", func() { actualRequirements, err := cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) Expect(factory.NewMinAPIVersionRequirementCallCount()).To(Equal(0))