reqs := cmd.Requirements(requirementsFactory, flagContext) err := testcmd.RunRequirements(reqs) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Incorrect Usage")) Expect(err.Error()).To(ContainSubstring("No argument required")) }) }) It("fails requirements when login fails", func() { Expect(runCommand()).To(BeFalse()) }) Context("when logged in", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true }) It("lists buildpacks", func() { p1 := 5 p2 := 10 p3 := 15 t := true f := false buildpackRepo.Buildpacks = []models.Buildpack{ {Name: "Buildpack-1", Position: &p1, Enabled: &t, Locked: &f}, {Name: "Buildpack-2", Position: &p2, Enabled: &f, Locked: &t}, {Name: "Buildpack-3", Position: &p3, Enabled: &t, Locked: &f}, }
} app = makeAppWithRoute("my-app") appSummaryRepo.GetSummarySummary = app deps = command_registry.NewDependency() updateCommandDependency(false) }) runCommand := func(args ...string) bool { cmd := command_registry.Commands.FindCommand("app") return testcmd.RunCliCommand(cmd, args, requirementsFactory) } Describe("requirements", func() { It("fails if not logged in", func() { requirementsFactory.LoginSuccess = false Expect(runCommand("my-app")).To(BeFalse()) }) It("fails if a space is not targeted", func() { requirementsFactory.TargetedSpaceSuccess = false Expect(runCommand("my-app")).To(BeFalse()) }) It("fails with usage when not provided exactly one arg", func() { passed := runCommand() Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires an argument"}, )) Expect(passed).To(BeFalse()) })
passed := testcmd.RunCliCommand("delete-orphaned-routes", args, reqFactory, updateCommandDependency, false) return ui, passed } BeforeEach(func() { routeRepo = &testapi.FakeRouteRepository{} reqFactory = &testreq.FakeReqFactory{} }) It("fails requirements when not logged in", func() { _, passed := callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo) Expect(passed).To(BeFalse()) }) It("should fail with usage when provided any arguments", func() { reqFactory.LoginSuccess = true ui, passed := callDeleteOrphanedRoutes("y", []string{"blahblah"}, reqFactory, routeRepo) Expect(passed).To(BeFalse()) Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "No argument required"}, )) }) Context("when logged in successfully", func() { BeforeEach(func() { reqFactory.LoginSuccess = true }) It("passes requirements when logged in", func() { _, passed := callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo)