userFields := models.UserFields{GUID: "the-user-guid", Username: "******"} userRequirement.GetUserReturns(userFields) }) It("tells the user it is removing the role", func() { Expect(err).NotTo(HaveOccurred()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Removing role", "SpaceManager", "the-user-name", "the-org", "the-user-name"}, []string{"OK"}, )) }) It("removes the role using the GUID", func() { Expect(err).NotTo(HaveOccurred()) Expect(userRepo.UnsetSpaceRoleByGUIDCallCount()).To(Equal(1)) actualUserGUID, actualSpaceGUID, actualRole := userRepo.UnsetSpaceRoleByGUIDArgsForCall(0) Expect(actualUserGUID).To(Equal("the-user-guid")) Expect(actualSpaceGUID).To(Equal("the-space-guid")) Expect(actualRole).To(Equal(models.RoleSpaceManager)) }) Context("when the call to CC fails", func() { BeforeEach(func() { userRepo.UnsetSpaceRoleByGUIDReturns(errors.New("user-repo-error")) }) It("return an error", func() { Expect(err).To(HaveOccurred()) Expect(err.Error()).To(Equal("user-repo-error")) }) })