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); }
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" }); })); }