public void WhenCancellingTheSendMessageInteraction_ThenDoesNothing() { var serviceMock = new Mock <IChatService>(MockBehavior.Strict); serviceMock.SetupSet(svc => svc.Connected = true); serviceMock.Setup(svc => svc.GetContacts(It.IsAny <Action <IOperationResult <IEnumerable <Contact> > > >())); var viewModel = new ChatViewModel(serviceMock.Object); InteractionRequestedEventArgs args = null; viewModel.SendMessageRequest.Raised += (s, e) => args = e; viewModel.SendMessage(); Assert.IsNotNull(args); var sendMessage = args.Context as SendMessageViewModel; sendMessage.Result = false; args.Callback(); serviceMock.VerifyAll(); }
public void WhenSendingMessage_ThenUpdatesAndNotifiesSendingMessage() { var contact = new Contact(); var message = "message"; Action <IOperationResult <IEnumerable <Contact> > > getContactsCallback = null; Action <IOperationResult> sendMessageCallback = null; var serviceMock = new Mock <IChatService>(MockBehavior.Strict); serviceMock .SetupSet(svc => svc.Connected = true); serviceMock .Setup(svc => svc.GetContacts(It.IsAny <Action <IOperationResult <IEnumerable <Contact> > > >())) .Callback <Action <IOperationResult <IEnumerable <Contact> > > >(cb => getContactsCallback = cb); serviceMock .Setup(svc => svc.SendMessage(contact, message, It.IsAny <Action <IOperationResult> >())) .Callback <Contact, string, Action <IOperationResult> >((c, m, cb) => sendMessageCallback = cb); var getContactsOperationMock = new Mock <IOperationResult <IEnumerable <Contact> > >(); getContactsOperationMock.SetupGet(or => or.Result).Returns(new[] { contact }); var viewModel = new ChatViewModel(serviceMock.Object); InteractionRequestedEventArgs args = null; viewModel.SendMessageRequest.Raised += (s, e) => args = e; getContactsCallback(getContactsOperationMock.Object); viewModel.ContactsView.MoveCurrentTo(contact); var tracker = new PropertyChangeTracker(viewModel); Assert.IsFalse(viewModel.SendingMessage); viewModel.SendMessage(); Assert.IsFalse(viewModel.SendingMessage); var sendMessage = args.Context as SendMessageViewModel; sendMessage.Result = true; sendMessage.Message = message; args.Callback(); Assert.IsTrue(viewModel.SendingMessage); CollectionAssert.AreEqual(new[] { "SendingMessage" }, tracker.ChangedProperties); tracker.Reset(); sendMessageCallback(new Mock <IOperationResult>().Object); Assert.IsFalse(viewModel.SendingMessage); CollectionAssert.AreEqual(new[] { "SendingMessage" }, tracker.ChangedProperties); }
private void Send_Click(object sender, RoutedEventArgs e) { _currentChat.SendMessage(new ChatMessage() { Message = { new MessageItem { Text = NewMessageBox.Text } }, UserID = DataSource.Username, DisplayName = DataSource.Username, SendingInProgress = true }); NewMessageBox.Text = ""; }
private async void ButtonBase_OnClick(object sender, RoutedEventArgs e) { TextFieldBox.Text = ""; Scroll.ToBottom(MessagesListBox); await _vm.SendMessage(attachId); this.key = 0; this.attachId = 0; IndicatorPhoto.Fill = new SolidColorBrush(Colors.Transparent); IndicatorFile.Fill = new SolidColorBrush(Colors.Transparent); }
public void WhenSendingMessage_ThenInitiatesInteraction() { var serviceMock = new Mock <IChatService>(); var viewModel = new ChatViewModel(serviceMock.Object); bool interactionRaised = false; viewModel.SendMessageRequest.Raised += (s, e) => interactionRaised = true; viewModel.SendMessage(); Assert.IsTrue(interactionRaised); }
async void SendMessage(object sender, EventArgs args) { var messageText = sendText.Text; if (messageText == null) { return; } await viewModel.SendMessage(messageText, Local.LocalUser.Id, viewModel.Companion.Id); sendText.Text = ""; ItemsCollectionView.ScrollTo(viewModel.Messages.Count()); }
public void WhenAcceptingTheSendMessageInteraction_ThenSendsMessage() { var contact = new Contact(); var message = "message"; Action <IOperationResult <IEnumerable <Contact> > > getContactsCallback = null; Action <IOperationResult> sendMessageCallback = null; var serviceMock = new Mock <IChatService>(MockBehavior.Strict); serviceMock .SetupSet(svc => svc.Connected = true); serviceMock .Setup(svc => svc.GetContacts(It.IsAny <Action <IOperationResult <IEnumerable <Contact> > > >())) .Callback <Action <IOperationResult <IEnumerable <Contact> > > >(cb => getContactsCallback = cb); serviceMock .Setup(svc => svc.SendMessage(contact, message, It.IsAny <Action <IOperationResult> >())) .Callback <Contact, string, Action <IOperationResult> >((c, m, cb) => sendMessageCallback = cb); var getContactsOperationMock = new Mock <IOperationResult <IEnumerable <Contact> > >(); getContactsOperationMock.SetupGet(or => or.Result).Returns(new[] { contact }); var viewModel = new ChatViewModel(serviceMock.Object); InteractionRequestedEventArgs args = null; viewModel.SendMessageRequest.Raised += (s, e) => args = e; getContactsCallback(getContactsOperationMock.Object); viewModel.ContactsView.MoveCurrentTo(contact); viewModel.SendMessage(); Assert.IsNotNull(args); var sendMessage = args.Context as SendMessageViewModel; sendMessage.Result = true; sendMessage.Message = message; args.Callback(); serviceMock.VerifyAll(); }
private async void SendMessage_Click(object sender, RoutedEventArgs e) { await model.SendMessage(MessageBox.Text); }