requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true domainRepo.FindByNameInOrgDomain = models.DomainFields{ Name: "foo.com", Guid: "foo-guid", Shared: true, } }) Describe("and the command is invoked interactively", func() { BeforeEach(func() { ui.Inputs = []string{"y"} }) It("when the domain is not found it tells the user", func() { domainRepo.FindByNameInOrgApiResponse = errors.NewModelNotFoundError("Domain", "foo.com") RunCommand("foo.com") Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting domain", "foo.com"}, []string{"OK"}, []string{"foo.com", "not found"}, )) }) It("fails when the api returns an error", func() { domainRepo.FindByNameInOrgApiResponse = errors.New("couldn't find the droids you're lookin for") RunCommand("foo.com") Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting domain", "foo.com"},
It("skips confirmation", func() { runCommand("-f", "foo.com") Expect(domainRepo.DeleteDomainGuid).To(Equal("foo-guid")) Expect(ui.Prompts).To(BeEmpty()) Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting domain", "foo.com"}, []string{"OK"}, )) }) }) }) Context("when a domain with the given name doesn't exist", func() { BeforeEach(func() { domainRepo.FindByNameInOrgApiResponse = errors.NewModelNotFoundError("Domain", "foo.com") }) It("fails", func() { runCommand("foo.com") Expect(domainRepo.DeleteDomainGuid).To(Equal("")) Expect(ui.Outputs).To(ContainSubstrings( []string{"OK"}, []string{"foo.com", "not found"}, )) }) }) Context("when there is an error finding the domain", func() {