requirementsFactory = &testreq.FakeReqFactory{} }) runCommand := func(args ...string) { testcmd.RunCommand(NewListDomains(ui, configRepo, domainRepo), args, requirementsFactory) } Describe("requirements", func() { It("fails when an org is not targeted", func() { requirementsFactory.LoginSuccess = true runCommand() Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails when not logged in", func() { requirementsFactory.TargetedOrgSuccess = true runCommand() Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails with usage when invoked with any args what so ever ", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true runCommand("whoops") Expect(ui.FailedWithUsage).To(BeTrue()) }) }) Context("when logged in and an org is targeted", func() { BeforeEach(func() {
Space: space, } }) Describe("requirements", func() { BeforeEach(func() { ui.Inputs = []string{"y"} }) It("fails when not logged in", func() { requirementsFactory.LoginSuccess = false runCommand("my-space") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails when not targeting a space", func() { requirementsFactory.TargetedOrgSuccess = false runCommand("my-space") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) It("deletes a space, given its name", func() { ui.Inputs = []string{"yes"} runCommand("space-to-delete") Expect(ui.Prompts).To(ContainSubstrings([]string{"Really delete the space space-to-delete"})) Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting space", "space-to-delete", "my-org", "my-user"}, []string{"OK"}, )) Expect(spaceRepo.DeletedSpaceGuid).To(Equal("space-to-delete-guid"))