}) }) Describe("Execute", func() { BeforeEach(func() { err := flagContext.Parse("service-name") Expect(err).NotTo(HaveOccurred()) _, err = cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) }) It("tries to find the service offering by label", func() { ui.Inputs = []string{"n"} serviceRepo.FindServiceOfferingsByLabelReturns([]models.ServiceOffering{{}}, nil) cmd.Execute(flagContext) Expect(serviceRepo.FindServiceOfferingsByLabelCallCount()).To(Equal(1)) name := serviceRepo.FindServiceOfferingsByLabelArgsForCall(0) Expect(name).To(Equal("service-name")) }) Context("when finding the service offering succeeds", func() { BeforeEach(func() { serviceOffering := models.ServiceOffering{} serviceOffering.Guid = "service-offering-guid" serviceRepo.FindServiceOfferingsByLabelReturns([]models.ServiceOffering{serviceOffering}, nil) }) It("asks the user to confirm", func() { ui.Inputs = []string{"n"} cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings([]string{"WARNING"}))