orgRepo.FindByNameOrganization = org callTarget([]string{"-o", "my-organization"}) Expect(orgRepo.FindByNameName).To(Equal("my-organization")) Expect(ui.ShowConfigurationCalled).To(BeTrue()) Expect(config.OrganizationFields().Guid).To(Equal("my-organization-guid")) }) It("updates the space in the config", func() { space := models.Space{} space.Name = "my-space" space.Guid = "my-space-guid" spaceRepo.Spaces = []models.Space{space} spaceRepo.FindByNameSpace = space callTarget([]string{"-s", "my-space"}) Expect(spaceRepo.FindByNameName).To(Equal("my-space")) Expect(config.SpaceFields().Guid).To(Equal("my-space-guid")) Expect(ui.ShowConfigurationCalled).To(BeTrue()) }) It("updates both the organization and the space in the config", func() { org := models.Organization{} org.Name = "my-organization" org.Guid = "my-organization-guid" orgRepo.Organizations = []models.Organization{org}
It("fails when an org is not targeted", func() { requirementsFactory.LoginSuccess = true runCommand() Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Context("when logged in and an org is targeted", func() { BeforeEach(func() { space := models.Space{} space.Name = "space1" space2 := models.Space{} space2.Name = "space2" space3 := models.Space{} space3.Name = "space3" spaceRepo.Spaces = []models.Space{space, space2, space3} requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true }) It("lists all of the spaces", func() { runCommand() Expect(ui.Outputs).To(ContainSubstrings( []string{"Getting spaces in org", "my-org", "my-user"}, []string{"space1"}, []string{"space2"}, []string{"space3"}, )) })
org1.Name = "some-org" org2 = models.Organization{} org2.Guid = "my-new-org-guid" org2.Name = "my-new-org" space1 := models.Space{} space1.Guid = "my-space-guid" space1.Name = "my-space" space2 = models.Space{} space2.Guid = "some-space-guid" space2.Name = "some-space" orgRepo.Organizations = []models.Organization{org1, org2} spaceRepo.Spaces = []models.Space{space1, space2} }) It("lets the user select an org and space by number", func() { OUT_OF_RANGE_CHOICE := "3" ui.Inputs = []string{"api.example.com", "*****@*****.**", "password", OUT_OF_RANGE_CHOICE, "2", OUT_OF_RANGE_CHOICE, "1"} l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo) testcmd.RunCommand(l, Flags, nil) Expect(ui.Outputs).To(ContainSubstrings( []string{"Select an org"}, []string{"1. some-org"}, []string{"2. my-new-org"}, []string{"Select a space"},