Expect(buildpackRepo.DeleteBuildpackGuid).To(Equal("my-buildpack-guid")) Expect(len(ui.Prompts)).To(Equal(0)) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Deleting buildpack", "my-buildpack"}, {"OK"}, }) }) }) }) Context("when the buildpack provided is not found", func() { BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} buildpackRepo.FindByNameNotFound = true }) It("warns the user", func() { runCommand("my-buildpack") Expect(buildpackRepo.FindByNameName).To(Equal("my-buildpack")) Expect(buildpackRepo.FindByNameNotFound).To(BeTrue()) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Deleting", "my-buildpack"}, {"OK"}, }) testassert.SliceContains(ui.WarnOutputs, testassert.Lines{ {"my-buildpack", "does not exist"},
It("renames a buildpack", func() { fakeRepo.FindByNameBuildpack = models.Buildpack{ Name: "my-buildpack", Guid: "my-buildpack-guid", } runCommand("my-buildpack", "new-buildpack") testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Renaming buildpack", "my-buildpack"}, {"OK"}, }) }) It("fails when the buildpack does not exist", func() { fakeRepo.FindByNameNotFound = true runCommand("my-buildpack1", "new-buildpack") testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Renaming buildpack", "my-buildpack"}, {"FAILED"}, {"Buildpack my-buildpack1 not found"}, }) }) It("fails when there is an error updating the buildpack", func() { fakeRepo.FindByNameBuildpack = models.Buildpack{ Name: "my-buildpack", Guid: "my-buildpack-guid", } fakeRepo.UpdateBuildpackReturns.Error = errors.New("SAD TROMBONE")