Expect(config.OrganizationFields()).To(Equal(models.OrganizationFields{})) Expect(config.SpaceFields()).To(Equal(models.SpaceFields{})) }) }) Context("when deleting an org that is not targeted", func() { BeforeEach(func() { otherOrgFields := models.OrganizationFields{} otherOrgFields.Guid = "some-other-org-guid" otherOrgFields.Name = "some-other-org" config.SetOrganizationFields(otherOrgFields) spaceFields := models.SpaceFields{} spaceFields.Name = "some-other-space" config.SetSpaceFields(spaceFields) }) It("deletes the org with the given name", func() { runCommand("org-to-delete") Expect(ui.Prompts).To(ContainSubstrings([]string{"Really delete the org org-to-delete"})) Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting", "org-to-delete"}, []string{"OK"}, )) Expect(orgRepo.DeleteArgsForCall(0)).To(Equal("org-to-delete-guid")) })
config core_config.ReadWriter ) BeforeEach(func() { ui = new(testterm.FakeUI) config = testconfig.NewRepositoryWithDefaults() }) Context("when the user has targeted a space", func() { It("succeeds", func() { req := NewTargetedSpaceRequirement(ui, config) Expect(req.Execute()).To(BeTrue()) }) }) Context("when the user does not have a space targeted", func() { It("fails", func() { config.SetSpaceFields(models.SpaceFields{}) testassert.AssertPanic(testterm.QuietPanic, func() { NewTargetedSpaceRequirement(ui, config).Execute() }) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"No space targeted"}, )) }) }) })
BeforeEach(func() { config.SetOrganizationFields(models.OrganizationFields{ Name: "org-name", Guid: "org-guid", }) }) It("tells the user which org is targeted", func() { Expect(output).To(ContainSubstrings([]string{"Org:", "org-name"})) }) }) Context("when a space is targeted", func() { BeforeEach(func() { config.SetSpaceFields(models.SpaceFields{ Name: "my-space", Guid: "space-guid", }) }) It("tells the user which space is targeted", func() { Expect(output).To(ContainSubstrings([]string{"Space:", "my-space"})) }) }) }) It("prompts the user to target an org and space when no org or space is targeted", func() { output := io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, NewTeePrinter()) ui.ShowConfiguration(config) })
requirementsFactory.ApiEndpointSuccess = true Expect(testcmd.RunCommand(cmd, []string{"blahblah"}, requirementsFactory)).To(BeFalse()) Expect(ui.FailedWithUsage).To(BeTrue()) }) }) }) Context("when the user is logged in", func() { BeforeEach(func() { config = testconfig.NewRepositoryWithDefaults() }) Context("when the user has a space targeted", func() { BeforeEach(func() { config.SetSpaceFields(models.SpaceFields{ Guid: "the-space-guid", Name: "the-space-name", }) serviceBuilder.GetServicesForSpaceWithPlansReturns(fakeServiceOfferings, nil) }) It("lists all of the service offerings for the space", func() { cmd := NewMarketplaceServices(ui, config, serviceBuilder) testcmd.RunCommand(cmd, []string{}, requirementsFactory) args := serviceBuilder.GetServicesForSpaceWithPlansArgsForCall(0) Expect(args).To(Equal("the-space-guid")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Getting services from marketplace in org", "my-org", "the-space-name", "my-user"}, []string{"OK"}, []string{"service", "plans", "description"},