public void StartDownloadTestCaseUrlNotHandled() { downloadMethod.Setup(x => x.CanHandle(It.IsAny <string>())).Returns(false); var services = new ServiceCollection(); services.AddScoped(typeof(IDownloadMethod), delegate { return(downloadMethod.Object); }); var serviceProvider = services.BuildServiceProvider(); var service = new DownloadItemService(logger.Object, serviceProvider, options.Object, dispatcher.Object, repository.Object); Assert.IsFalse(service.StartDownload(new DownloadItem { FileUrl = "not-handled-url.com/123" }, out var err)); Assert.AreEqual(err, DownloadItemActionError.UrlNotHandled); }
public void CancelDownload() { downloadMethod.Setup(x => x.CanHandle(It.IsAny <DownloadType>())).Returns(true); var services = new ServiceCollection(); services.AddScoped(typeof(IDownloadMethod), delegate { return(downloadMethod.Object); }); var serviceProvider = services.BuildServiceProvider(); var service = new DownloadItemService(logger.Object, serviceProvider, options.Object, dispatcher.Object, repository.Object); var item = new DownloadItem(); service.CancelDownload(item); downloadMethod.Verify(x => x.Cancel(item), Times.Once); }
public void StartDownloadTestCaseOk() { downloadMethod.Setup(x => x.CanHandle(It.IsAny <string>())).Returns(true); var services = new ServiceCollection(); services.AddScoped(typeof(IDownloadMethod), delegate { return(downloadMethod.Object); }); var serviceProvider = services.BuildServiceProvider(); var service = new DownloadItemService(logger.Object, serviceProvider, options.Object, dispatcher.Object, repository.Object); var result = service.StartDownload(new DownloadItem { FileUrl = "handled-url.com" }, out _); Assert.True(result); downloadMethod.Verify(x => x.Start(It.IsAny <DownloadItem>()), Times.Once); }
public void StartDownloadTestCaseFileNotDownaloadable() { downloadMethod.Setup(x => x.CanHandle(It.IsAny <string>())).Returns(true); downloadMethod .Setup(m => m.Start(It.IsAny <DownloadItem>())) .Throws(new FileNotDownloadableException("File not downloadable")); var services = new ServiceCollection(); services.AddScoped(typeof(IDownloadMethod), delegate { return(downloadMethod.Object); }); var serviceProvider = services.BuildServiceProvider(); var service = new DownloadItemService(logger.Object, serviceProvider, options.Object, dispatcher.Object, repository.Object); var result = service.StartDownload(new DownloadItem { FileUrl = "handled-url.com/notAFile" }, out var err); Assert.IsFalse(result); Assert.AreEqual(err, DownloadItemActionError.DownloadabilityFailure); }