public async Task RemoveSpecialPortraits_PlayersHave_Success() { var personalSettingsRepository = new PersonalSettingsRepository(MongoClient); var playerRepo = new PlayerRepository(MongoClient); var portraitRepo = new PortraitRepository(MongoClient); var portraitCommandHandler = new PortraitCommandHandler(personalSettingsRepository, playerRepo, portraitRepo); int[] validPortraits = { 5, 50, 500, 5000 }; await portraitCommandHandler.AddPortraitDefinition(CreatePortraitsDefinitionCommand(validPortraits.ToList(), new List <string>())); string[] playerTags = { "cepheid#1467" }; var portraitIds = new List <int>(); portraitIds.Add(5); portraitIds.Add(50); portraitIds.Add(500); portraitIds.Add(5000); var upsertCommand = new PortraitsCommand(); upsertCommand.Portraits = portraitIds; upsertCommand.BnetTags = playerTags.AsEnumerable().ToList(); upsertCommand.Tooltip = "description"; var listOfSettings = new List <PersonalSetting>(); foreach (var tag in playerTags) { listOfSettings.Add(new PersonalSetting(tag)); } await personalSettingsRepository.SaveMany(listOfSettings); await portraitCommandHandler.UpsertSpecialPortraits(upsertCommand); var deleteCommand = new PortraitsCommand(); deleteCommand.Portraits = new List <int>(); deleteCommand.Portraits.Add(500); deleteCommand.BnetTags = playerTags.AsEnumerable().ToList(); deleteCommand.Tooltip = "Multiple Tags Portrait Test Tooltip"; await portraitCommandHandler.DeleteSpecialPortraits(deleteCommand); var settings = await personalSettingsRepository.LoadMany(playerTags); Assert.AreEqual(3, settings.First().SpecialPictures.Count()); CollectionAssert.IsEmpty(settings .FindAll(x => x.SpecialPictures .AsEnumerable() .ToList() .FindAll(x => x.PictureId == 500) .Count() > 0)); }
public async Task RemoveSpecialPortrait_PlayerDoesNotHave_NoExceptionThrown() { var personalSettingsRepository = new PersonalSettingsRepository(MongoClient); var playerRepo = new PlayerRepository(MongoClient); var portraitRepo = new PortraitRepository(MongoClient); var portraitCommandHandler = new PortraitCommandHandler(personalSettingsRepository, playerRepo, portraitRepo); int[] validPortraits = { 5, 50, 500, 5000 }; await portraitCommandHandler.AddPortraitDefinition(CreatePortraitsDefinitionCommand(validPortraits.ToList(), new List <string>())); string[] playerTags = { "cepheid#1467" }; var portraitIds = new List <int>(); portraitIds.Add(5); portraitIds.Add(50); portraitIds.Add(500); portraitIds.Add(5000); var upsertCommand = new PortraitsCommand(); upsertCommand.Portraits = portraitIds; upsertCommand.BnetTags = playerTags.AsEnumerable().ToList(); upsertCommand.Tooltip = "description"; var listOfSettings = new List <PersonalSetting>(); foreach (var tag in playerTags) { listOfSettings.Add(new PersonalSetting(tag)); } await personalSettingsRepository.SaveMany(listOfSettings); await portraitCommandHandler.UpsertSpecialPortraits(upsertCommand); var deleteCommand = new PortraitsCommand(); deleteCommand.Portraits = new List <int>(); deleteCommand.Portraits.Add(100); deleteCommand.BnetTags = playerTags.AsEnumerable().ToList(); deleteCommand.Tooltip = "this text is irrelevant"; await portraitCommandHandler.DeleteSpecialPortraits(deleteCommand); var settings = await personalSettingsRepository.Load(playerTags[0]); Assert.AreEqual(4, settings.SpecialPictures.Count()); }