updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetBuildpackRepository(repo) deps.RepoLocator = deps.RepoLocator.SetBuildpackBitsRepository(bitsRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("update-buildpack").SetDependency(deps, pluginCall)) } BeforeEach(func() { buildpackName = "my-buildpack" requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) buildpackReq := new(requirementsfakes.FakeBuildpackRequirement) buildpackReq.GetBuildpackReturns(models.Buildpack{Name: buildpackName}) requirementsFactory.NewBuildpackRequirementReturns(buildpackReq) ui = new(testterm.FakeUI) repo = new(apifakes.OldFakeBuildpackRepository) bitsRepo = new(apifakes.OldFakeBuildpackBitsRepository) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("update-buildpack", args, requirementsFactory, updateCommandDependency, false, ui) } Context("is only successful on login and buildpack success", func() { It("returns success when both are true", func() { Expect(runCommand(buildpackName)).To(BeTrue()) }) It("returns failure when at requirements error", func() {
fakeRepo *apifakes.OldFakeBuildpackRepository ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetBuildpackRepository(fakeRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("rename-buildpack").SetDependency(deps, pluginCall)) } BeforeEach(func() { requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewBuildpackRequirementReturns(new(requirementsfakes.FakeBuildpackRequirement)) ui = new(testterm.FakeUI) fakeRepo = new(apifakes.OldFakeBuildpackRepository) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("rename-buildpack", args, requirementsFactory, updateCommandDependency, false, ui) } It("fails requirements when called without the current name and the new name to use", func() { passed := runCommand("my-buildpack-name") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "arguments"}, )) Expect(passed).To(BeFalse()) })