Example #1
0
        public void TextNgChatViewModel_SendMessage()
        {
            // Arrange
            _clientMock.Setup(c => c.SendMessage(It.IsAny <ChatMessage>())).Returns(Task.CompletedTask);

            string          messageText = "TESTMSG";
            NgChatViewModel vm          = new NgChatViewModel(_clientMock.Object);

            // Act
            vm.CurrentMessage = messageText;
            vm.SendMessage();

            // Assert
            _clientMock.Verify(c => c.SendMessage(It.Is <ChatMessage>(m => m.MessageText == messageText)), Times.Once);
        }
Example #2
0
        public void TextNgChatViewModel_ReceiveMessageFromClient()
        {
            // Arrange
            IChatClient fakeClient = new FakeChatClient();
            ChatMessage msg        = new ChatMessage {
                MessageText = "TESTMSG"
            };
            NgChatViewModel vm = new NgChatViewModel(fakeClient);

            // Act
            fakeClient.SendMessage(msg);

            // Assert
            Assert.AreEqual(1, vm.ChatMessages.Count);
            Assert.AreEqual(msg, vm.ChatMessages.First());
        }
Example #3
0
        public void TextNgChatViewModel_JoinChat()
        {
            // Arrange
            _clientMock.Setup(c => c.Join(It.IsAny <string>())).Returns(Task.CompletedTask);
            _clientMock.Setup(c => c.GetLatestMessages()).Returns(Task.CompletedTask);

            string          userName = "******";
            NgChatViewModel vm       = new NgChatViewModel(_clientMock.Object);

            // Act
            Assert.IsTrue(vm.IsNotConnected);
            vm.UserName = userName;
            vm.JoinChat();

            // Assert
            _clientMock.Verify(c => c.Join(It.Is <string>(s => s == userName)), Times.Once);
            Assert.IsFalse(vm.IsNotConnected);
        }
Example #4
0
        public void TextNgChatViewModel_ClosedAndDisposed()
        {
            // Arrange
            Mock <IDisposable> messageObservableMock = new Mock <IDisposable>();
            Mock <IDisposable> userObservableMock    = new Mock <IDisposable>();

            _clientMock = new Mock <IChatClient>(MockBehavior.Strict);
            _clientMock.Setup(c => c.Subscribe(It.IsAny <IObserver <IChatMessage> >())).Returns(messageObservableMock.Object);
            _clientMock.Setup(c => c.Subscribe(It.IsAny <IObserver <IChatUser> >())).Returns(userObservableMock.Object);
            NgChatViewModel vm = new NgChatViewModel(_clientMock.Object);

            // Act
            vm.TryClose();

            // Assert
            messageObservableMock.Verify(m => m.Dispose(), Times.Once);
            userObservableMock.Verify(m => m.Dispose(), Times.Once);
        }
Example #5
0
 public void TextNgChatViewModel_Constructor()
 {
     NgChatViewModel vm = new NgChatViewModel(_clientMock.Object);
 }