public async Task Should_export_mod_with_order_only() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); var isValid = false; gameService.Setup(s => s.GetSelected()).Returns(new Game() { Type = "no-items", UserDirectory = "C:\\fake" }); modExport.Setup(p => p.ExportAsync(It.IsAny <ModCollectionExporterParams>())).Callback((ModCollectionExporterParams p) => { if (p.File.Equals("file") && p.Mod.Name.Equals("fake") && p.ExportModOrderOnly) { isValid = true; } }); var modWriter = new Mock <IModWriter>(); modWriter.Setup(p => p.ModDirectoryExists(It.IsAny <ModWriterParameters>())).Returns((ModWriterParameters p) => { return(false); }); var service = new ModCollectionService(null, null, new Cache(), null, null, modWriter.Object, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); await service.ExportAsync("file", new ModCollection() { Name = "fake" }, true); isValid.Should().BeTrue(); }
public async Task Should_not_import_mod() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); DISetup.SetupContainer(); gameService.Setup(s => s.GetSelected()).Returns(new Game() { Type = "no-items", UserDirectory = "C:\\fake" }); modExport.Setup(p => p.ImportAsync(It.IsAny <ModCollectionExporterParams>())).Returns((ModCollectionExporterParams p) => { p.Mod.Name = "fake"; return(Task.FromResult(true)); }); modExport.Setup(p => p.ImportModDirectoryAsync(It.IsAny <ModCollectionExporterParams>())).Returns((ModCollectionExporterParams p) => { return(Task.FromResult(false)); }); var modWriter = new Mock <IModWriter>(); modWriter.Setup(p => p.ModDirectoryExists(It.IsAny <ModWriterParameters>())).Returns((ModWriterParameters p) => { return(false); }); var service = new ModCollectionService(null, null, new Cache(), null, null, modWriter.Object, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = await service.ImportAsync("file"); result.Should().BeNull(); }
public void Should_return_mod_names() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); service.GetAll().Count().Should().Be(2); }
public void Should_not_return_true_when_collection_exists() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Exists("test101"); result.Should().BeFalse(); }
public void Should_not_return_mod_names_when_no_selected_game() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); gameService.Setup(s => s.GetSelected()).Returns((IGame)null); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); service.GetAll().Count().Should().Be(0); }
public void Should_not_return_mod_collection_object() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Get("test3"); result.Should().BeNull(); }
public void Should_not_delete_mod_collection() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Delete("test3"); result.Should().BeFalse(); service.GetAll().Count().Should().Be(2); }
public void Should_not_delete_mod_collection_when_collection_empty() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); storageProvider.Setup(s => s.GetModCollections()).Returns(new List <IModCollection>()); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Delete("test"); result.Should().BeFalse(); service.GetAll().Count().Should().Be(0); }
public void Should_create_empty_mod_collection_object() { DISetup.SetupContainer(); var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Create(); result.Name.Should().BeNullOrEmpty(); result.Mods.Should().NotBeNull(); result.Mods.Count().Should().Be(0); result.IsSelected.Should().BeFalse(); result.Game.Should().Be("test"); }
public void Should_overwrite_existing_mod_object() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Save(new ModCollection() { Name = "test", Game = "test" }); result.Should().BeTrue(); service.GetAll().Count().Should().Be(2); }
public void Should_not_return_mod_collection_object_when_game_has_no_items() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); storageProvider.Setup(s => s.GetModCollections()).Returns(new List <IModCollection>()); gameService.Setup(s => s.GetSelected()).Returns(new Game() { Type = "no-items" }); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = service.Get("test2"); result.Should().BeNull(); }
public void Should_throw_exception_when_saving_mod_object_with_no_game() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); SetupMockCase(storageProvider, gameService); var service = new ModCollectionService(null, null, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); Exception exception = null; try { service.Save(new ModCollection()); } catch (Exception ex) { exception = ex; } exception.GetType().Should().Be(typeof(ArgumentNullException)); }
public async Task Should_not_export_hash_report() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); var modExport = new Mock <IModCollectionExporter>(); var hashExport = new Mock <IReportExportService>(); var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); DISetup.SetupContainer(); var service = new ModCollectionService(messageBus.Object, hashExport.Object, new Cache(), null, null, null, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = await service.ExportHashReportAsync(null, "test"); result.Should().BeFalse(); result = await service.ExportHashReportAsync(new List <IMod>(), string.Empty); result.Should().BeFalse(); }
public async Task Should_export_hash_report() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); gameService.Setup(s => s.GetSelected()).Returns(new Game() { Type = "no-items", UserDirectory = "C:\\fake", GameFolders = new List <string>() { "test" } }); var collections = new List <IModCollection>() { new ModCollection() { IsSelected = true, Mods = new List <string>() { "mod/fakemod.mod" }, Name = "test", Game = "no-items" } }; storageProvider.Setup(s => s.GetModCollections()).Returns(() => { return(collections); }); var modExport = new Mock <IModCollectionExporter>(); var hashExport = new Mock <IReportExportService>(); hashExport.Setup(p => p.ExportAsync(It.IsAny <IEnumerable <IHashReport> >(), It.IsAny <string>())).ReturnsAsync((IEnumerable <IHashReport> report, string path) => { if (report.Count() == 1 && report.FirstOrDefault().Reports.Count == 1 && report.FirstOrDefault().Reports.FirstOrDefault().File == "test\\test" && report.FirstOrDefault().Reports.FirstOrDefault().Hash == "2") { return(true); } return(false); }); var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); var reader = new Mock <IReader>(); reader.Setup(p => p.GetFileInfo(It.IsAny <string>(), It.IsAny <string>())).Returns(new FileInfo() { ContentSHA = "2" }); var modWriter = new Mock <IModWriter>(); modWriter.Setup(p => p.ModDirectoryExistsAsync(It.IsAny <ModWriterParameters>())).Returns((ModWriterParameters p) => { return(Task.FromResult(false)); }); DISetup.SetupContainer(); var service = new ModCollectionService(messageBus.Object, hashExport.Object, new Cache(), null, reader.Object, modWriter.Object, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = await service.ExportHashReportAsync(new List <IMod>() { new Mod() { Name = "test", Files = new List <string>() { "test\\test" } } }, "test"); result.Should().BeTrue(); }
public async Task Should_import_hash() { var storageProvider = new Mock <IStorageProvider>(); var mapper = new Mock <IMapper>(); var gameService = new Mock <IGameService>(); gameService.Setup(s => s.GetSelected()).Returns(new Game() { Type = "no-items", UserDirectory = "C:\\fake", GameFolders = new List <string>() { "test" } }); var collections = new List <IModCollection>() { new ModCollection() { IsSelected = true, Mods = new List <string>() { "mod/fakemod.mod" }, Name = "test", Game = "no-items" } }; storageProvider.Setup(s => s.GetModCollections()).Returns(() => { return(collections); }); var modExport = new Mock <IModCollectionExporter>(); var innerReports = new List <IHashFileReport>() { new HashFileReport() { File = "test\\1", Hash = "2" } }; var outerReports = new List <IHashReport>() { new HashReport() { Name = "testreport", Reports = innerReports } }; var hashExport = new Mock <IReportExportService>(); hashExport.Setup(p => p.GetCollectionReports(It.IsAny <IReadOnlyCollection <IHashReport> >())).Returns((IReadOnlyCollection <IHashReport> hashReports) => { if (hashReports != null) { return(hashReports.Where(p => p.ReportType == HashReportType.Collection).ToList()); } return(null); }); hashExport.Setup(p => p.CompareReports(It.IsAny <IReadOnlyCollection <IHashReport> >(), It.IsAny <IReadOnlyCollection <IHashReport> >())).Returns((IReadOnlyCollection <IHashReport> first, IReadOnlyCollection <IHashReport> second) => { return(outerReports); }); var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); var reader = new Mock <IReader>(); reader.Setup(p => p.GetFileInfo(It.IsAny <string>(), It.IsAny <string>())).Returns(new FileInfo() { FileName = "2", ContentSHA = "3" }); var modWriter = new Mock <IModWriter>(); modWriter.Setup(p => p.ModDirectoryExistsAsync(It.IsAny <ModWriterParameters>())).Returns((ModWriterParameters p) => { return(Task.FromResult(false)); }); DISetup.SetupContainer(); var service = new ModCollectionService(messageBus.Object, hashExport.Object, new Cache(), null, reader.Object, modWriter.Object, null, gameService.Object, modExport.Object, storageProvider.Object, mapper.Object); var result = await service.ImportHashReportAsync(new List <IMod>() { new Mod() { Name = "testreport", Files = new List <string>() { "test\\test" } } }, outerReports); result.Should().NotBeNull(); result.Count().Should().Be(1); result.FirstOrDefault().Reports.Count.Should().Be(1); }