public async Task ReceivedMessages_Success()
        {
            var mockManager    = new FacadeMockManager();
            var unitOfWorkMock = FacadeMockManager.ConfigureUowMock().Object;
            var userService    = CreateUserService(mockManager);
            var messageService = CreateMessagesService(mockManager);
            var facade         = new MessageFacade(unitOfWorkMock, messageService, userService);
            var ids            = CreateSampleUsers(userService);
            var numMessages    = 10;
            var msgText        = "Hello World";

            for (int i = 0; i < numMessages; i++)
            {
                facade.SendMessage(new UserDto {
                    Id = ids.Item1
                }, new UserDto {
                    Id = ids.Item2
                }, msgText);
            }
            var msgs = await facade.ReceivedMessages(new UserDto { Id = ids.Item1 });

            Assert.AreEqual(msgs.Count, 10);
            msgs.ForEach(m =>
            {
                Assert.AreEqual(m.UserSenderId, ids.Item1);
                Assert.AreEqual(m.UserReceiverId, ids.Item2);
                Assert.AreEqual(m.Text, msgText);
            });
        }
        public void Execute(object parameter)
        {
            string error;
            var    messageThread = ParentModel.MessageThread;

            MessageFacade.SendMessage(ParentModel.Text, ref messageThread, out error);
            ContactFacade.ContactPage.RecentConversationsListView.SelectedIndex = 0;
            ParentModel.Text = string.Empty;
            MessageFacade.ChatPage.ClearTextBox();
        }
        public async Task SendMessage_Success()
        {
            var mockManager    = new FacadeMockManager();
            var unitOfWorkMock = FacadeMockManager.ConfigureUowMock().Object;
            var userService    = CreateUserService(mockManager);
            var messageService = CreateMessagesService(mockManager);
            var facade         = new MessageFacade(unitOfWorkMock, messageService, userService);
            var ids            = CreateSampleUsers(userService);
            var msgText        = "Hello World";
            var guid           = facade.SendMessage(new UserDto {
                Id = ids.Item1
            }, new UserDto {
                Id = ids.Item2
            }, msgText);
            var dto = await messageService.GetAsync(guid);

            Assert.IsFalse(dto.Seen);
            Assert.AreEqual(dto.UserSenderId, ids.Item1);
            Assert.AreEqual(dto.UserReceiverId, ids.Item2);
            Assert.AreEqual(dto.Text, msgText);
        }