public RemoveAdmin ( ChatUser admin, ChatUser targetUser ) : void | ||
admin | ChatUser | |
targetUser | ChatUser | |
Résultat | void |
public void RemoveAdmin(ChatUser admin, ChatUser targetUser)
{
// Ensure the user is admin
EnsureAdmin(admin);
if (!targetUser.IsAdmin)
{
// If the target user is NOT an admin, then throw
throw new InvalidOperationException(String.Format("'{0}' is not an admin.", targetUser.Name));
}
// Make the user an admin
targetUser.IsAdmin = false;
_repository.CommitChanges();
}
public void ThrowsIfActingUserIsNotAdmin() { var repository = new InMemoryRepository(); var nonAdmin = new ChatUser { Name = "foo", IsAdmin = false }; var user = new ChatUser { Name = "foo2", IsAdmin = true }; repository.Add(nonAdmin); repository.Add(user); var service = new ChatService(new Mock<ICache>().Object, repository); Assert.Throws<HubException>(() => service.RemoveAdmin(nonAdmin, user)); }