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.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedOrgRequirementReturns(new(requirementsfakes.FakeTargetedOrgRequirement)) }) It("populates the plugin models upon execution", func() { testcmd.RunCLICommand("spaces", []string{}, requirementsFactory, updateCommandDependency, true, ui) runCommand() Expect(pluginModels[0].Name).To(Equal("space1")) Expect(pluginModels[0].Guid).To(Equal("123")) Expect(pluginModels[1].Name).To(Equal("space2")) Expect(pluginModels[1].Guid).To(Equal("456")) }) })