public void ReturnsNullIfNoUserForClientId() { var repository = new InMemoryRepository(); var service = new ChatService(repository); ChatUser user = service.DisconnectClient("foo"); Assert.Null(user); }
public void RemovesClientFromUserClientList() { var repository = new InMemoryRepository(); var user = new ChatUser { Name = "foo", Status = (int)UserStatus.Inactive }; user.ConnectedClients.Add(new ChatClient { Id = "foo", User = user }); user.ConnectedClients.Add(new ChatClient { Id = "bar", User = user }); repository.Add(user); var service = new ChatService(repository); service.DisconnectClient("foo"); Assert.Equal(1, user.ConnectedClients.Count); Assert.Equal("bar", user.ConnectedClients.First().Id); }
public void MarksUserAsOfflineIfNoMoreClients() { var repository = new InMemoryRepository(); var user = new ChatUser { Id = "userId", Name = "foo", Status = (int)UserStatus.Inactive }; user.ConnectedClients.Add(new ChatClient { Id = "foo", User = user }); repository.Add(user); var service = new ChatService(new Mock<ICache>().Object, repository, new Mock<ICryptoService>().Object); string userId = service.DisconnectClient("foo"); Assert.Equal(0, user.ConnectedClients.Count); Assert.Equal("userId", userId); Assert.Equal((int)UserStatus.Offline, user.Status); }
public void MarksUserAsOfflineIfNoMoreClients() { var repository = new InMemoryRepository(); var user = new ChatUser { Name = "foo", Status = (int)UserStatus.Inactive }; user.ConnectedClients.Add(new ChatClient { Id = "foo", User = user }); repository.Add(user); var service = new ChatService(repository); service.DisconnectClient("foo"); Assert.Equal(0, user.ConnectedClients.Count); Assert.Equal((int)UserStatus.Offline, user.Status); }
public void ReturnsNullIfNoUserForClientId() { var repository = new InMemoryRepository(); var service = new ChatService(new Mock<ICache>().Object, repository,new Mock<ICryptoService>().Object); ChatUser user = service.DisconnectClient("foo"); Assert.Null(user); }