ui := callTarget([]string{"-s", "my-space"}, reqFactory, config, orgRepo, spaceRepo) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"FAILED"}, {"An org must be targeted before targeting a space"}, }) Expect(config.OrganizationFields().Guid).To(Equal("")) }) It("TestTargetSpaceWhenUserHasAccess", func() { space := models.Space{} space.Name = "my-space" space.Guid = "my-space-guid" spaceRepo.Spaces = []models.Space{space} spaceRepo.FindByNameSpace = space ui := callTarget([]string{"-s", "my-space"}, reqFactory, config, orgRepo, spaceRepo) Expect(spaceRepo.FindByNameName).To(Equal("my-space")) Expect(config.SpaceFields().Guid).To(Equal("my-space-guid")) Expect(ui.ShowConfigurationCalled).To(BeTrue()) }) It("TestTargetSpaceWhenUserDoesNotHaveAccess", func() { config.SetSpaceFields(models.SpaceFields{}) spaceRepo.FindByNameErr = true ui := callTarget([]string{"-s", "my-space"}, reqFactory, config, orgRepo, spaceRepo)
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, testcmd.NewContext("login", Flags), nil) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Select an org"}, {"1. some-org"}, {"2. my-new-org"}, {"Select a space"},