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); }
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()); }
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); }
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); }
public void TextNgChatViewModel_Constructor() { NgChatViewModel vm = new NgChatViewModel(_clientMock.Object); }