public IActionResult Abilities() { AbilityViewModel model = new AbilityViewModel() { AllAbilities = this.dataService.GetObjects <Ability>("GenerationId, Name"), AllPokemon = this.dataService.GetAllPokemonWithAbilitiesAndIncomplete(), }; return(this.View(model)); }
public async Task Should_Return_400_Status_Code_If_ViewModel_Invalid() { // Arrange var client = factory.CreateClient(); await factory.AuthenticateAsync(client); var data = new AbilityViewModel(); // Act var response = await PerformRequest(client, data); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task Should_Return_400_Status_Code_With_Invalid_ViewModel() { // Arrange var data = new AbilityViewModel(); var abilitiesController = new AbilitiesController(abilityServices.Object); // Act var response = await abilitiesController.Create(data); // Assert Assert.NotNull(response); Assert.IsType <BadRequestObjectResult>(response.Result); }
public async Task <ActionResult <AbilityViewModel> > Create( [FromBody] AbilityViewModel data ) { data.Validate(); if (data.Invalid) { return(BadRequest(data.Notifications)); } var response = await abilityServices.CreateAbility(data); return(Created(nameof(Create), response)); }
private async Task <HttpResponseMessage> PerformRequest( HttpClient client, AbilityViewModel data ) { return(await client.PostAsync("/v1/abilities", new StringContent( JsonConvert.SerializeObject(data), Encoding.UTF8 ) { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } })); }
public static AbilityViewModel BuildAbilityViewModel(Ability ability, bool addRelations = false) { var viewmodel = new AbilityViewModel { Id = ability.Id, Name = ability.Name, Description = ability.Description }; if (addRelations) { viewmodel.MetaHumans = ability.MetaHumanAbilities.Select(y => BuildMetaViewModel(y.MetaHuman)); } return(viewmodel); }
public AbilityContext() { if (VM_Ability == null) { VM_Ability = new AbilityViewModel(); } if (VM_Generation == null) { VM_Generation = new GenerationViewModel(); } if (VM_Region == null) { VM_Region = new RegionViewModel(); } if (VM_VersionGroups == null) { VM_VersionGroups = new VersionGroupsViewModel(); } if (VM_Language == null) { VM_Language = new LanguageViewModel(); } }
public async Task <AbilityViewModel> CreateAbility(AbilityViewModel data) { var ability = mapper.Map <Ability>(data); var abilityExists = await abilitiesRepository.ExistsById(data.Id); if (abilityExists) { throw new AbilityException("Ability number must be unique", 400); } abilityExists = await abilitiesRepository.ExistsByName(data.Name); if (abilityExists) { throw new AbilityException("Ability name must be unique", 400); } ability = await abilitiesRepository.CreateAbility(ability); return(mapper.Map <AbilityViewModel>(ability)); }
public async Task Should_Be_Able_To_Create_New_Pokemon() { // Arrange var pokemon = BogusDomain.PokemonFaker(); var stats = BogusDomain.StatsFaker(); var abilities = BogusDomain.AbilitiesFaker(); var data = BogusViewModel.PokemonViewModelFaker(pokemon, stats, abilities); var photo = LoadPokemonPhoto(); data.PokemonPhoto = photo; var response = new PokemonViewModel() { Id = pokemon.Id, Name = pokemon.Name, EvolutionLevel = pokemon.EvolutionLevel, LevelingRate = pokemon.LevelingRate, CatchRate = pokemon.CatchRate, HatchTime = pokemon.HatchTime, CreatedAt = pokemon.CreatedAt, }; var statsViewModel = data.Stats; var abilityViewModel = new AbilityViewModel() { Id = abilities[0].Id, Name = abilities[0].Name, Effect = abilities[0].Effect, }; var hiddenAbilityViewModel = new AbilityViewModel() { Id = abilities[1].Id, Name = abilities[1].Name, Effect = abilities[1].Effect, }; mapper.Setup(x => x.Map <Pokemon>(data)).Returns(pokemon); mapper.Setup(x => x.Map <Stats>(data.Stats)).Returns(stats); pokemonRepository.Setup(x => x.ExistsById(pokemon.Id)).ReturnsAsync(false); pokemonRepository.Setup(x => x.ExistsByName(pokemon.Name)) .ReturnsAsync(false); abilitiesRepository.Setup(x => x.ExistsById( abilities[0].Id )).ReturnsAsync(true); abilitiesRepository.Setup(x => x.ExistsById( abilities[1].Id )).ReturnsAsync(true); storageProvider.Setup(x => x.SaveFile(photo)).Returns(Guid.NewGuid().ToString()); pokemonRepository.Setup(x => x.CreatePokemon(pokemon)) .ReturnsAsync(pokemon); statsRepository.Setup(x => x.CreateStats(stats)) .ReturnsAsync(stats); pokemonRepository.Setup(x => x.CreatePokemonAbility( data.Id, data.Abilities[0].Id )).ReturnsAsync(new PokemonAbility() { PokemonId = data.Id, AbilityId = data.Abilities[0].Id }); pokemonRepository.Setup(x => x.CreatePokemonAbility( data.Id, data.Abilities[1].Id )).ReturnsAsync(new PokemonAbility() { PokemonId = data.Id, AbilityId = data.Abilities[1].Id }); abilitiesRepository.Setup(x => x.FindByPokemonId(data.Id)) .ReturnsAsync(new List <Ability>() { abilities[0], abilities[1] }); mapper.Setup(x => x.Map <PokemonViewModel>(pokemon)).Returns( response ); mapper.Setup(x => x.Map <StatsViewModel>(stats)).Returns( statsViewModel ); mapper.Setup(x => x.Map <List <AbilityViewModel> >(abilities)).Returns( new List <AbilityViewModel>() { abilityViewModel, hiddenAbilityViewModel } ); // Act var result = await pokemonServices.CreatePokemon(data); // Assert Assert.IsType <PokemonViewModel>(result); Assert.IsType <StatsViewModel>(result.Stats); Assert.IsType <List <AbilityViewModel> >(result.Abilities); Assert.Equal(pokemon.Id, result.Id); Assert.Equal(stats.Total, result.Stats.Total); Assert.Equal(2, result.Abilities.Count); Assert.Equal( DateTime.Today.ToLocalTime().Date, result.CreatedAt.ToLocalTime().Date ); }
private IEnumerator CountdownToEffectEnd(AbilityViewModel avm) { yield return new WaitForSecondsInterruptTime(avm.Model.Duration); avm.Model.Deactivate(); }
protected override void OnNavigatedTo(NavigationEventArgs e) { HeroPlayerInfo = (e.Parameter as HeroPlayerInfoViewModel); if (HeroPlayerInfo == null) { ShowDialog(); return; } foreach (var item in HeroPlayerInfo.Permanent_buffs) { switch (item.Permanent_buff) { case "1": Buff1Grid.Visibility = Visibility.Visible; Buff1TextBlock.Text = item.Stack_count; break; case "2": Buff2Grid.Visibility = Visibility.Visible; Buff2TextBlock.Text = item.Stack_count; break; case "3": Buff3Grid.Visibility = Visibility.Visible; Buff3TextBlock.Text = item.Stack_count; break; case "4": Buff4Grid.Visibility = Visibility.Visible; Buff4TextBlock.Text = item.Stack_count; break; case "5": Buff5Grid.Visibility = Visibility.Visible; Buff5TextBlock.Text = item.Stack_count; break; case "6": Buff6Grid.Visibility = Visibility.Visible; Buff6TextBlock.Text = item.Stack_count; break; case "7": Buff7Grid.Visibility = Visibility.Visible; Buff7TextBlock.Text = item.Stack_count; break; case "8": Buff8Grid.Visibility = Visibility.Visible; Buff8TextBlock.Text = item.Stack_count; break; case "9": Buff9Grid.Visibility = Visibility.Visible; Buff9TextBlock.Text = item.Stack_count; break; default: break; } } string rankMedalSource = "ms-appx:///Assets/RankMedal/SeasonalRank0-0.png"; if (HeroPlayerInfo.Rank_tier == null) { } else if (HeroPlayerInfo.Rank_tier[0] == '8') { rankMedalSource = "ms-appx:///Assets/RankMedal/SeasonalRankTop0.png"; } else if (HeroPlayerInfo.Rank_tier.Length == 2) { rankMedalSource = string.Format("ms-appx:///Assets/RankMedal/SeasonalRank{0}-{1}.png", HeroPlayerInfo.Rank_tier[0], HeroPlayerInfo.Rank_tier[1]); } else { } MatchData_RankMedalImage.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(rankMedalSource)); for (int i = 0; i < HeroPlayerInfo.Ability_upgrades_arr.Count; i++) { try { AbilityViewModel temp = new AbilityViewModel() { Ability = ConstantsHelper.abilitiesIDDictionary[HeroPlayerInfo.Ability_upgrades_arr[i]].StartsWith("special_bonus") ? "ms-appx:///Assets/Icons/talent.jpg" : string.Format("https://www.dota2.com.cn/images/heroes/abilities/{0}_hp1.png", ConstantsHelper.abilitiesIDDictionary[HeroPlayerInfo.Ability_upgrades_arr[i]]) }; if (HeroPlayerInfo.Hero_name != "祈求者") { if (i < 16) { temp.ID = (i + 1).ToString(); } else if (i == 16) { temp.ID = "18"; } else if (i == 17) { temp.ID = "20"; } else if (i == 18) { temp.ID = "25"; } } else { temp.ID = (i + 1).ToString(); } abilityNames.Add(temp); } catch { continue; } } if (HeroPlayerInfo.Account_id == "ID: null") { IDTextBlock.Visibility = Visibility.Collapsed; } base.OnNavigatedTo(e); }