public async Task Should_not_create_file_merge_mod_due_to_no_collection_name() { var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); var storageProvider = new Mock <IStorageProvider>(); var modParser = new Mock <IModParser>(); var reader = new Mock <IReader>(); var modWriter = new Mock <IModWriter>(); var gameService = new Mock <IGameService>(); var mapper = new Mock <IMapper>(); var modPatchExporter = new Mock <IModPatchExporter>(); var modMergeExporter = new Mock <IModMergeExporter>(); var infoProvider = new Mock <IDefinitionInfoProvider>(); gameService.Setup(p => p.GetSelected()).Returns(new Game() { Type = "Should_not_create_file_merge_mod_due_to_no_collection_name", UserDirectory = "C:\\Users\\Fake", WorkshopDirectory = "C:\\Fake" }); var service = new ModMergeService(new Cache(), messageBus.Object, modPatchExporter.Object, modMergeExporter.Object, new List <IDefinitionInfoProvider>() { infoProvider.Object }, reader.Object, modWriter.Object, modParser.Object, gameService.Object, storageProvider.Object, mapper.Object); var result = await service.MergeCollectionByFilesAsync(string.Empty); result.Should().BeNull(); }
public async Task Should_not_create_file_merge_mod_due_to_no_game_set() { var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); var storageProvider = new Mock <IStorageProvider>(); var modParser = new Mock <IModParser>(); var reader = new Mock <IReader>(); var modWriter = new Mock <IModWriter>(); var gameService = new Mock <IGameService>(); var mapper = new Mock <IMapper>(); var modPatchExporter = new Mock <IModPatchExporter>(); var modMergeExporter = new Mock <IModMergeExporter>(); var infoProvider = new Mock <IDefinitionInfoProvider>(); gameService.Setup(p => p.GetSelected()).Returns((IGame)null); var service = new ModMergeService(new Cache(), messageBus.Object, modPatchExporter.Object, modMergeExporter.Object, new List <IDefinitionInfoProvider>() { infoProvider.Object }, reader.Object, modWriter.Object, modParser.Object, gameService.Object, storageProvider.Object, mapper.Object); var result = await service.MergeCollectionByFilesAsync("test"); result.Should().BeNull(); }
public async Task Should_create_file_merge_mod() { var messageBus = new Mock <IMessageBus>(); messageBus.Setup(p => p.PublishAsync(It.IsAny <IMessageBusEvent>())); messageBus.Setup(p => p.Publish(It.IsAny <IMessageBusEvent>())); var storageProvider = new Mock <IStorageProvider>(); var modParser = new Mock <IModParser>(); var reader = new Mock <IReader>(); var modWriter = new Mock <IModWriter>(); var gameService = new Mock <IGameService>(); var mapper = new Mock <IMapper>(); var modPatchExporter = new Mock <IModPatchExporter>(); var modMergeExporter = new Mock <IModMergeExporter>(); var infoProvider = new Mock <IDefinitionInfoProvider>(); modMergeExporter.Setup(p => p.ExportFilesAsync(It.IsAny <ModMergeFileExporterParameters>())).Returns(Task.FromResult(true)); gameService.Setup(p => p.GetSelected()).Returns(new Game() { Type = "Should_create_file_merge_mod", UserDirectory = "C:\\Users\\Fake", WorkshopDirectory = "C:\\Fake" }); var collections = new List <IModCollection>() { new ModCollection() { IsSelected = true, Mods = new List <string>() { "mod/fakemod.mod" }, Name = "test", Game = "Should_create_file_merge_mod" } }; storageProvider.Setup(s => s.GetModCollections()).Returns(() => { return(collections); }); var fileInfos = new List <IFileInfo>() { new FileInfo() { Content = new List <string>() { "a" }, FileName = "fakemod.mod", IsBinary = false } }; reader.Setup(s => s.Read(It.IsAny <string>(), It.IsAny <IEnumerable <string> >())).Returns(fileInfos); modParser.Setup(s => s.Parse(It.IsAny <IEnumerable <string> >())).Returns((IEnumerable <string> values) => { return(new ModObject() { FileName = values.First(), Name = values.First() }); }); mapper.Setup(s => s.Map <IMod>(It.IsAny <IModObject>())).Returns((IModObject o) => { return(new Mod() { FileName = o.FileName, Name = o.Name }); }); var service = new ModMergeService(new Cache(), messageBus.Object, modPatchExporter.Object, modMergeExporter.Object, new List <IDefinitionInfoProvider>() { infoProvider.Object }, reader.Object, modWriter.Object, modParser.Object, gameService.Object, storageProvider.Object, mapper.Object); var result = await service.MergeCollectionByFilesAsync("test"); result.Should().NotBeNull(); }