Example #1
0
					Expect(spaceGUID).To(Equal("the-space-guid"))
					Expect(orgGUID).To(Equal("the-org-guid"))
					Expect(role).To(Equal("SpaceManager"))
				})

				It("tells the user it assigned the role", func() {
					cmd.Execute(flagContext)
					Expect(ui.Outputs).To(ContainSubstrings(
						[]string{"Assigning role", "SpaceManager", "the-username", "the-org", "the-username"},
						[]string{"OK"},
					))
				})

				Context("when the call to CC fails", func() {
					BeforeEach(func() {
						userRepo.SetSpaceRoleByUsernameReturns(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"},
							[]string{"user-repo-error"},
						))
					})
				})
			})
		})

	})
})
Example #2
0
					BeforeEach(func() {
						flagRepo.FindByNameReturns(models.FeatureFlag{Enabled: true}, nil)
					})

					Context("when setting role succeed", func() {
						It("uses the new endpoint to set space role by name", func() {
							runCommand("my-user", "some-org", "some-space", "SpaceManager")

							Expect(userRepo.SetSpaceRoleByGuidCallCount()).To(BeZero())
							Expect(userRepo.SetSpaceRoleByUsernameCallCount()).To(Equal(1))
						})
					})

					Context("when setting role fails", func() {
						It("returns the error to user", func() {
							userRepo.SetSpaceRoleByUsernameReturns(errors.New("oh no, it is broken"))

							runCommand("my-user", "some-org", "some-space", "SpaceManager")

							Expect(ui.Outputs).To(ContainSubstrings(
								[]string{"FAILED"},
								[]string{"it is broken"},
							))

						})
					})
				})

				Context("when feature flag 'set_roles_by_username' is disabled", func() {
					BeforeEach(func() {
						flagRepo.FindByNameReturns(models.FeatureFlag{Enabled: false}, nil)