public void Show(AppDetails param) { _downloadApp = DependencyService.Get <IDownloadApp>(); bool success = _downloadApp.DownloadApplication(param.UrlAndroid, param.Name); if (success) { Application.Current.MainPage.DisplayAlert("Success", param.Name + " has been downloaded and will be installed shortly", "OK"); } }
public async Task When_installing_winget_cli() { IDownloadApp capturedDownloadApp = null !; GetMock <IDownloadAppInstaller>().Setup(x => x.InstallAsync(IsAny <IDownloadApp>())) .Callback <IDownloadApp>(downloadApp => capturedDownloadApp = downloadApp); await BecauseAsync(() => ClassUnderTest.InstallAsync()); It("installs", () => { capturedDownloadApp.ShouldBe(WingetCliInstaller.WingetCliApp); }); It("accepts all source agreements", () => { GetMock <IPowerShell>().Verify(x => x.ExecuteAsync("winget list winget --accept-source-agreements")); }); }
public async Task InstallAsync(IDownloadApp app) { consoleLogger.Info($"Installing '{app.AppId}'"); IDownloader downloader = downloaderFactory.GetDownloader(app.Downloader); var downloadedFilePath = await downloader.DownloadAsync(app.DownloaderArgs.ToString() !); var installScript = $"{app.InstallScript} {downloadedFilePath}"; if (app.VerificationScript == null) { await powerShell.ExecuteAsync(installScript); } else { await powerShell.ExecuteAsync(installScript, app.VerificationScript); } consoleLogger.Result($"Installed '{app.AppId}'"); }
public LoginViewModel() { _downloadApp = DependencyService.Get <IDownloadApp>(); LoginCommand = new Command(CheckLogin); }