コード例 #1
0
        public void DeleteDirectoryItems_confirmation_message_sent()
        {
            var messageSent            = false;
            var dependencyService      = new Mock <IResolve>();
            var downloadDirectoryItems = new Mock <IDeleteDirectoryItems>();
            var ftpServerViewModel     = new Mock <IFtpServerViewModel>();
            var localSystemViewModel   = new Mock <ILocalSystemViewModel>();
            var ftpServer = new Mock <IFtpServer>();

            ftpServerViewModel.SetupGet(s => s.FtpServer).Returns(ftpServer.Object);

            dependencyService.Setup(s => s.Resolve <IDeleteDirectoryItems>())
            .Returns(downloadDirectoryItems.Object);

            downloadDirectoryItems.SetupGet(s => s.FtpServer).Returns(ftpServer.Object);

            Messenger.Default.Register <ApplicationStatusMessage>(this, testMessage => messageSent = true);

            var message = new DeleteDirectoryItemsMessage
            {
                Items = new List <IRemoteItem>()
            };

            var sut = new MainViewModel(dependencyService.Object, ftpServerViewModel.Object, localSystemViewModel.Object);

            sut.DeleteDirectoryItems(message).Wait();

            Assert.IsTrue(messageSent);
        }
コード例 #2
0
        public Task DeleteDirectoryItems(DeleteDirectoryItemsMessage message)
        {
            return(Task.Run(() =>
            {
                var deleteItems = DependencyService.Resolve <IDeleteDirectoryItems>();
                deleteItems.Items = message.Items;
                deleteItems.FtpServer = FtpServer.FtpServer;

                deleteItems.Execute();

                if (deleteItems.FailedToConnectToServer)
                {
                    FailedToConnectToServer();
                    return;
                }

                MessengerInstance.Send(new ApplicationStatusMessage
                {
                    Message = "Delete Complete"
                });
            }));
        }