RemoveOwner() public méthode

public RemoveOwner ( ChatUser creator, ChatUser targetUser, ChatRoom targetRoom ) : void
creator ChatUser
targetUser ChatUser
targetRoom ChatRoom
Résultat void
Exemple #1
0
            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));
            }