public AddRoom ( JabbR.Models.ChatUser user, string name ) : JabbR.Models.ChatRoom | ||
user | JabbR.Models.ChatUser | |
name | string | |
return | JabbR.Models.ChatRoom |
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)); }
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")); }
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")); }
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")); }
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")); }
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")); }
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)); }