Expect(config.SpaceFields().Guid).To(Equal("")) Expect(ui.ShowConfigurationCalled).To(BeFalse()) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"Unable to access space", "my-space"}, )) }) Describe("when there is only a single space", func() { It("target space automatically ", func() { space := models.Space{} space.Name = "my-space" space.Guid = "my-space-guid" spaceRepo.FindByNameReturns(space, nil) spaceRepo.ListSpacesStub = listSpacesStub([]models.Space{space}) callTarget([]string{"-o", "my-organization"}) Expect(config.OrganizationFields().Guid).To(Equal("my-organization-guid")) Expect(config.SpaceFields().Guid).To(Equal("my-space-guid")) Expect(ui.ShowConfigurationCalled).To(BeTrue()) }) }) It("not target space automatically for orgs having multiple spaces", func() { space1 := models.Space{} space1.Name = "my-space" space1.Guid = "my-space-guid"
Describe("when invoked by a plugin", func() { var ( pluginModels []plugin_models.GetSpaces_Model ) BeforeEach(func() { pluginModels = []plugin_models.GetSpaces_Model{} deps.PluginModels.Spaces = &pluginModels space := models.Space{} space.Name = "space1" space.Guid = "123" space2 := models.Space{} space2.Name = "space2" space2.Guid = "456" spaceRepo.ListSpacesStub = listSpacesStub([]models.Space{space, space2}) requirementsFactory.TargetedOrgSuccess = true requirementsFactory.LoginSuccess = true }) It("populates the plugin models upon execution", func() { testcmd.RunCliCommand("spaces", []string{}, requirementsFactory, updateCommandDependency, true) runCommand() Ω(pluginModels[0].Name).To(Equal("space1")) Ω(pluginModels[0].Guid).To(Equal("123")) Ω(pluginModels[1].Name).To(Equal("space2")) Ω(pluginModels[1].Guid).To(Equal("456")) }) })