AddRoom() public method

public AddRoom ( JabbR.Models.ChatUser user, string name ) : JabbR.Models.ChatRoom
user JabbR.Models.ChatUser
name string
return JabbR.Models.ChatRoom
コード例 #1
0
ファイル: ChatServiceFacts.cs プロジェクト: kiliman/JabbR
            public void AddsUserAsCreatorAndOwner()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var service = new ChatService(repository);

                ChatRoom room = service.AddRoom(user, "NewRoom");

                Assert.NotNull(room);
                Assert.Equal("NewRoom", room.Name);
                Assert.Same(room, repository.GetRoomByName("NewRoom"));
                Assert.True(room.Owners.Contains(user));
                Assert.Same(room.Creator, user);
                Assert.True(user.OwnedRooms.Contains(room));
            }
コード例 #2
0
ファイル: ChatServiceFacts.cs プロジェクト: kiliman/JabbR
            public void ThrowsIfRoomNameIsLobby()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var service = new ChatService(repository);

                Assert.Throws<InvalidOperationException>(() => service.AddRoom(user, "Lobby"));
                Assert.Throws<InvalidOperationException>(() => service.AddRoom(user, "LObbY"));
            }
コード例 #3
0
ファイル: ChatServiceFacts.cs プロジェクト: Polows/JabbR
            public void ThrowsIfRoomNameInvalid()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var service = new ChatService(repository, new Mock<ICryptoService>().Object);

                Assert.Throws<InvalidOperationException>(() => service.AddRoom(user, "Invalid name"));
            }
コード例 #4
0
            public void ThrowsIfRoomNameIsLobby()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var service = new ChatService(new Mock<ICache>().Object, repository);

                Assert.Throws<HubException>(() => service.AddRoom(user, "Lobby"));
                Assert.Throws<HubException>(() => service.AddRoom(user, "LObbY"));
            }
コード例 #5
0
            public void ThrowsIfRoomNameContainsPeriod()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var service = new ChatService(new Mock<ICache>().Object, repository);

                Assert.Throws<HubException>(() => service.AddRoom(user, "Invalid.name"));
            }
コード例 #6
0
            public void ThrowsIfRoomCreationDisabledAndNotAdmin()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var settings = new ApplicationSettings
                {
                    AllowRoomCreation = false
                };

                var service = new ChatService(new Mock<ICache>().Object, repository, settings);

                Assert.Throws<HubException>(() => service.AddRoom(user, "NewRoom"));
            }
コード例 #7
0
            public void DoesNotThrowIfRoomCreationDisabledAndUserAdmin()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo",
                    IsAdmin = true
                };
                repository.Add(user);
                var settings = new ApplicationSettings
                {
                    AllowRoomCreation = false
                };

                var service = new ChatService(new Mock<ICache>().Object, repository, settings);
                ChatRoom room = service.AddRoom(user, "NewRoom");

                Assert.NotNull(room);
                Assert.Equal("NewRoom", room.Name);
                Assert.Same(room, repository.GetRoomByName("NewRoom"));
                Assert.True(room.Owners.Contains(user));
                Assert.Same(room.Creator, user);
                Assert.True(user.OwnedRooms.Contains(room));
            }