{"Assigning", "my-user", "my-space", models.SpaceRoleToUserInput[models.SPACE_DEVELOPER]}, {"TIP"}, }) Expect(defaultSpaceRepo.CreateSpaceName).To(Equal("my-space")) Expect(defaultSpaceRepo.CreateSpaceOrgGuid).To(Equal("my-org-guid")) Expect(defaultUserRepo.SetSpaceRoleUserGuid).To(Equal("my-user-guid")) Expect(defaultUserRepo.SetSpaceRoleSpaceGuid).To(Equal("my-space-guid")) Expect(defaultUserRepo.SetSpaceRoleRole).To(Equal(models.SPACE_DEVELOPER)) }) It("TestCreateSpaceInOrg", func() { resetSpaceDefaults() org := maker.NewOrg(maker.Overrides{"name": "other-org"}) defaultOrgRepo.Organizations = []models.Organization{org} ui := callCreateSpace([]string{"-o", "other-org", "my-space"}, defaultReqFactory, defaultSpaceRepo, defaultOrgRepo, defaultUserRepo) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Creating space", "my-space", "other-org", "my-user"}, {"OK"}, {"Assigning", "my-user", "my-space", models.SpaceRoleToUserInput[models.SPACE_MANAGER]}, {"Assigning", "my-user", "my-space", models.SpaceRoleToUserInput[models.SPACE_DEVELOPER]}, {"TIP"}, }) Expect(defaultSpaceRepo.CreateSpaceName).To(Equal("my-space")) Expect(defaultSpaceRepo.CreateSpaceOrgGuid).To(Equal(org.Guid)) Expect(defaultUserRepo.SetSpaceRoleUserGuid).To(Equal("my-user-guid")) Expect(defaultUserRepo.SetSpaceRoleSpaceGuid).To(Equal("my-space-guid"))
org1.Guid = "some-org-guid" 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"},
}) It("passes requirements when targeting a space or org", func() { callTarget([]string{"-s", "i-love-space"}, reqFactory, config, orgRepo, spaceRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) callTarget([]string{"-o", "orgs-are-delightful"}, reqFactory, config, orgRepo, spaceRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) }) It("TestTargetOrganizationWhenUserHasAccess", func() { org := models.Organization{} org.Name = "my-organization" org.Guid = "my-organization-guid" orgRepo.Organizations = []models.Organization{org} orgRepo.FindByNameOrganization = org ui := callTarget([]string{"-o", "my-organization"}, reqFactory, config, orgRepo, spaceRepo) Expect(orgRepo.FindByNameName).To(Equal("my-organization")) Expect(ui.ShowConfigurationCalled).To(BeTrue()) Expect(config.OrganizationFields().Guid).To(Equal("my-organization-guid")) }) It("TestTargetOrganizationWhenUserDoesNotHaveAccess", func() { orgs := []models.Organization{} orgRepo.Organizations = orgs orgRepo.FindByNameErr = true
Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) Context("when there are orgs to be listed", func() { BeforeEach(func() { org1 := models.Organization{} org1.Name = "Organization-1" org2 := models.Organization{} org2.Name = "Organization-2" org3 := models.Organization{} org3.Name = "Organization-3" orgRepo.Organizations = []models.Organization{org1, org2, org3} }) It("lists orgs", func() { runCommand() testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Getting orgs as my-user"}, {"Organization-1"}, {"Organization-2"}, {"Organization-3"}, }) }) }) It("tells the user when no orgs were found", func() {