public RemoveOwner ( ChatUser creator, ChatUser targetUser, ChatRoom targetRoom ) : void | ||
creator | ChatUser | |
targetUser | ChatUser | |
targetRoom | ChatRoom | |
Résultat | void |
public void ThrowsIfTargettedUserIsNotOwner() { var repository = new InMemoryRepository(); var user = new ChatUser { Name = "foo" }; var user2 = new ChatUser { Name = "foo2" }; repository.Add(user); repository.Add(user2); var room = new ChatRoom { Name = "Room", }; room.Creator = user; user.Rooms.Add(room); user2.Rooms.Add(room); room.Users.Add(user); room.Users.Add(user2); var service = new ChatService(repository, new Mock<ICryptoService>().Object); Assert.Throws<InvalidOperationException>(() => service.RemoveOwner(user, user2, room)); }
public void RemovesOwnerIfActingUserIsAdmin() { var repository = new InMemoryRepository(); var admin = new ChatUser { Name = "foo", IsAdmin = true }; var user2 = new ChatUser { Name = "foo2" }; repository.Add(admin); repository.Add(user2); var room = new ChatRoom { Name = "Room", }; admin.Rooms.Add(room); user2.Rooms.Add(room); room.Users.Add(admin); room.Users.Add(user2); room.Owners.Add(user2); user2.OwnedRooms.Add(room); var service = new ChatService(new Mock<ICache>().Object, repository); service.RemoveOwner(admin, user2, room); Assert.False(room.Owners.Contains(user2)); Assert.False(user2.OwnedRooms.Contains(room)); }
public void ThrowsIfActingUserIsNotCreatorOrAdmin() { var repository = new InMemoryRepository(); var user = new ChatUser { Name = "foo" }; var user2 = new ChatUser { Name = "foo2" }; repository.Add(user); repository.Add(user2); var room = new ChatRoom { Name = "Room", }; user.Rooms.Add(room); user2.Rooms.Add(room); room.Users.Add(user); room.Users.Add(user2); room.Owners.Add(user); user.OwnedRooms.Add(room); room.Owners.Add(user2); user2.OwnedRooms.Add(room); var service = new ChatService(new Mock<ICache>().Object, repository); Assert.Throws<HubException>(() => service.RemoveOwner(user, user2, room)); }
public void ThrowsIfTargettedUserIsNotOwner() { var repository = new InMemoryRepository(); var user = new ChatUser { Name = "foo" }; var user2 = new ChatUser { Name = "foo2" }; repository.Add(user); repository.Add(user2); var room = new ChatRoom { Name = "Room", }; room.Creator = user; user.Rooms.Add(room); user2.Rooms.Add(room); room.Users.Add(user); room.Users.Add(user2); var service = new ChatService(new Mock<ICache>().Object, new Mock<IRecentMessageCache>().Object, repository); Assert.Throws<HubException>(() => service.RemoveOwner(user, user2, room)); }