userFields := models.UserFields{Guid: "the-user-guid", Username: "******"} requirementsFactory.UserFields = userFields }) It("tells the user it is assigning the role", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings( []string{"Assigning role", "SpaceManager", "the-username", "the-org", "the-username"}, []string{"OK"}, )) }) It("sets the role using the GUID", func() { cmd.Execute(flagContext) Expect(userRepo.SetSpaceRoleByGuidCallCount()).To(Equal(1)) actualUserGUID, actualSpaceGUID, actualOrgGUID, actualRole := userRepo.SetSpaceRoleByGuidArgsForCall(0) Expect(actualUserGUID).To(Equal("the-user-guid")) Expect(actualSpaceGUID).To(Equal("the-space-guid")) Expect(actualOrgGUID).To(Equal("the-org-guid")) Expect(actualRole).To(Equal("SpaceManager")) }) Context("when the call to CC fails", func() { BeforeEach(func() { userRepo.SetSpaceRoleByGuidReturns(errors.New("user-repo-error")) }) It("panics and prints a failure message", func() { Expect(func() { cmd.Execute(flagContext) }).To(Panic()) Expect(ui.Outputs).To(BeInDisplayOrder( []string{"FAILED"},
It("creates a space", func() { runCommand("my-space") Expect(ui.Outputs).To(ContainSubstrings( []string{"Creating space", "my-space", "my-org", "my-user"}, []string{"OK"}, []string{"Assigning", models.SpaceRoleToUserInput[models.SPACE_MANAGER], "my-user", "my-space"}, []string{"Assigning", models.SpaceRoleToUserInput[models.SPACE_DEVELOPER], "my-user", "my-space"}, []string{"TIP"}, )) name, orgGUID, _ := spaceRepo.CreateArgsForCall(0) Expect(name).To(Equal("my-space")) Expect(orgGUID).To(Equal("my-org-guid")) userGuid, spaceGuid, orgGuid, role := userRepo.SetSpaceRoleByGuidArgsForCall(0) Expect(userGuid).To(Equal("my-user-guid")) Expect(spaceGuid).To(Equal("my-space-guid")) Expect(orgGuid).To(Equal("my-org-guid")) Expect(role).To(Equal(models.SPACE_MANAGER)) }) It("warns the user when a space with that name already exists", func() { spaceRepo.CreateReturns(models.Space{}, errors.NewHttpError(400, errors.SPACE_EXISTS, "Space already exists")) runCommand("my-space") Expect(ui.Outputs).To(ContainSubstrings( []string{"Creating space", "my-space"}, []string{"OK"}, )) Expect(ui.WarnOutputs).To(ContainSubstrings([]string{"my-space", "already exists"}))