public void Can_Display_Pokemon() { // Arrange Mock <IPokemonRepository> mock = new Mock <IPokemonRepository>(); mock.Setup(m => m.Pokemons).Returns((new Pokemon[] { new Pokemon { PokemonID = 1, Name = "TestPokemon1", Type1 = new Type(1, "TypeTest1"), Type2 = null, ExperienceGrowth = 10000, EggSteps = 1000, Attack = 100, Defense = 100, SpAttack = 100, SpDefense = 100, Speed = 100, IsLegendary = false, Generation = 1, HP = 100 }, new Pokemon { PokemonID = 2, Name = "TestPokemon2", Type1 = new Type(2, "TypeTest2"), Type2 = null, ExperienceGrowth = 20000, EggSteps = 2000, Attack = 200, Defense = 200, SpAttack = 200, SpDefense = 200, Speed = 200, IsLegendary = false, Generation = 2, HP = 200 } }).AsQueryable <Pokemon>()); // Arrange PokemonController controller = new PokemonController(mock.Object) { }; // Act PokemonDetailViewModel result = controller.Pkm(2).ViewData.Model as PokemonDetailViewModel; // Assert Assert.Equal(2, result.Pokemon.PokemonID); Assert.Equal("TestPokemon2", result.Pokemon.Name); }
public async Task <IActionResult> Edit(PokemonDetailViewModel pokemonDetailViewModel) { try { if (ModelState.IsValid) { await _pokedexAppLogic.EditPokemon(pokemonDetailViewModel); return(View(Constants.Success, new SuccessViewModel() { ActionName = "edit" })); } else { _logger.LogInformation(Constants.InvalidRequest); return(await Edit(pokemonDetailViewModel.MyPokemonId.Value)); } } catch (Exception ex) { return(Error(ex)); } }
public async Task GetNationalDexPokemonByIdIsSuccessfulAndLogsInformation() { PokemonDetailViewModel pokemonDetailViewModel = await _pokedexAppLogic.GetNationalDexPokemonById(0); Assert.AreEqual("Name0", pokemonDetailViewModel.Ability); Assert.AreEqual("Name0", pokemonDetailViewModel.Category); Assert.AreEqual("Desc0", pokemonDetailViewModel.Description); Assert.AreEqual(1, pokemonDetailViewModel.HeightInInches); Assert.AreEqual("Name1", pokemonDetailViewModel.HiddenAbility); Assert.AreEqual("http://0.com", pokemonDetailViewModel.ImageURL); Assert.AreEqual("JapaneseName0", pokemonDetailViewModel.JapaneseName); Assert.AreEqual("Name0", pokemonDetailViewModel.Name); Assert.AreEqual(0, pokemonDetailViewModel.NationalDexPokemonId); Assert.AreEqual("Name0", pokemonDetailViewModel.TypeOne); Assert.AreEqual("Name1", pokemonDetailViewModel.TypeTwo); Assert.AreEqual(1, pokemonDetailViewModel.WeightInPounds); Assert.IsNull(pokemonDetailViewModel.Date); Assert.IsNull(pokemonDetailViewModel.Level); Assert.IsNull(pokemonDetailViewModel.Location); Assert.IsNull(pokemonDetailViewModel.MyPokemonId); Assert.IsNull(pokemonDetailViewModel.Nickname); Assert.IsNull(pokemonDetailViewModel.PokeballImageURL); Assert.IsNull(pokemonDetailViewModel.Sex); _pokedexRepositoryMock.Verify(prm => prm.GetNationalDexPokemonById(0), Times.Once); VerifyLoggerAppMockLogsInformation("Mapping 1 Pokémon View Models."); }
public async Task <PokemonDetailViewModel> GetNationalDexPokemonById(int id) { tlkpNationalDex pokemon = await _pokedexRepository.GetNationalDexPokemonById(id); _logger.LogInformation(string.Format(Constants.InformationalMessageMappingWithCount, 1, Constants.Pokemon, ViewModels)); PokemonDetailViewModel pokemonDetailViewModel = _mapper.Map <PokemonDetailViewModel>(pokemon); return(pokemonDetailViewModel); }
public async Task <PokemonDetailViewModel> EditPokemon(PokemonDetailViewModel pokemonDetailViewModel) { tblMyPokedex pokemon = await MapDetailViewModelToMyPokemon(pokemonDetailViewModel); await _pokedexRepository.EditPokemon(pokemon); _logger.LogInformation(Constants.Updated + " " + Constants.Pokemon + ": " + pokemonDetailViewModel.MyPokemonId); return(pokemonDetailViewModel); }
public async Task <IActionResult> Detail(int id) { try { PokemonDetailViewModel nationalDexPokemon = await _pokedexAppLogic.GetNationalDexPokemonById(id); return(View(nationalDexPokemon)); } catch (Exception ex) { return(Error(ex)); } }
public async Task <IActionResult> Detail(Guid id) { try { PokemonDetailViewModel myPokemon = await _pokedexAppLogic.GetMyPokemonById(id); return(View(myPokemon)); } catch (Exception ex) { return(Error(ex)); } }
public async Task <IActionResult> Edit(Guid id) { try { PokemonDetailViewModel pokemonDetailViewModel = await _pokedexAppLogic.GetMyPokemonById(id); pokemonDetailViewModel.IsEditMode = true; return(View(Constants.Detail, pokemonDetailViewModel)); } catch (Exception ex) { return(Error(ex)); } }
public async Task EditWithGuidIsSuccessfulandCallsLogic() { _pokedexAppLogicMock.Setup(plm => plm.GetMyPokemonById(DataGenerator.DefaultGuid)) .ReturnsAsync(new PokemonDetailViewModel() { IsEditMode = false }); IActionResult result = await _pokedexController.Edit(DataGenerator.DefaultGuid); PokemonDetailViewModel viewModel = DataGenerator.GetViewModel <PokemonDetailViewModel>(result); Assert.IsTrue(viewModel.IsEditMode); _pokedexAppLogicMock.Verify(plm => plm.GetMyPokemonById(DataGenerator.DefaultGuid), Times.Once); }
private async Task <tblMyPokedex> MapDetailViewModelToMyPokemon(PokemonDetailViewModel pokemonDetailViewModel) { _logger.LogInformation(Constants.Mapping + " " + Constants.Pokemon + " " + ViewModels); tlkpNationalDex nationalDexLookup = await _pokedexRepository.GetNationalDexPokemonById(pokemonDetailViewModel.NationalDexPokemonId.Value); tblMyPokedex beforeUpdates = await _pokedexRepository.GetMyPokemonById(pokemonDetailViewModel.MyPokemonId.Value); tblMyPokedex updatedPokemon = _mapper.Map <tblMyPokedex>(pokemonDetailViewModel); updatedPokemon.PokeballId = beforeUpdates.PokeballId; updatedPokemon.Pokeball = beforeUpdates.Pokeball; updatedPokemon.Pokemon = nationalDexLookup; updatedPokemon.PokemonId = nationalDexLookup.Id; return(updatedPokemon); }
public async Task GetMyPokemonByIdIsSuccessfulAndLogsInformation() { PokemonDetailViewModel pokemonDetailViewModel = await _pokedexAppLogic.GetMyPokemonById(DataGenerator.DefaultGuid); Assert.AreEqual(DateTime.Today, pokemonDetailViewModel.Date); Assert.AreEqual("http://0.com", pokemonDetailViewModel.ImageURL); Assert.AreEqual(1, pokemonDetailViewModel.Level); Assert.AreEqual("0 Main Street", pokemonDetailViewModel.Location); Assert.AreEqual(DataGenerator.DefaultGuid, pokemonDetailViewModel.MyPokemonId); Assert.AreEqual("Name0", pokemonDetailViewModel.Name); Assert.AreEqual(0, pokemonDetailViewModel.NationalDexPokemonId); Assert.AreEqual("Nickname0", pokemonDetailViewModel.Nickname); Assert.AreEqual("http://0.com", pokemonDetailViewModel.PokeballImageURL); Assert.AreEqual(true, pokemonDetailViewModel.Sex); _pokedexRepositoryMock.Verify(prm => prm.GetMyPokemonById(DataGenerator.DefaultGuid), Times.Once); VerifyLoggerAppMockLogsInformation("Mapping 1 Pokémon View Models."); }
public ViewResult Pkm(int?id) { PokemonDetailViewModel ViewModel = new PokemonDetailViewModel(); ViewModel.Pokemon = repository.Pokemons.Where(p => p.PokemonID == id).Single(); var pokemonAbility = (from ability in repository.Abilities join pkmAbility in repository.PokemonAbilities on ability.AbilityID equals pkmAbility.AbilityID where pkmAbility.PokemonID == id select ability); ViewModel.Abilities = pokemonAbility; ViewModel.Type1 = repository.Pokemons.Where(p => p.PokemonID == id).Select(p => p.Type1).Single(); var type1id = ViewModel.Type1.TypeID; int?type2id; ViewModel.Type2 = repository.Pokemons.Where(p => p.PokemonID == id).Select(p => p.Type2).Single(); if (ViewModel.Type2 is null) { type2id = null; } else { type2id = ViewModel.Type2.TypeID; } var query1 = repository.Pokemons.Where(p => p.PokemonID == (id - 1)); var query2 = repository.Pokemons.Where(p => p.PokemonID == (id + 1)); ViewModel.PrevPokemon = query1.Any() ? query1.Single().Name : null; ViewModel.NextPokemon = query2.Any() ? query2.Single().Name : null; float[] TypesDamageMultiplierList = CalculateType.CalculateTypes(type1id, type2id); ViewModel.Weaknesses = CalculateType.FindWeaknesses(TypesDamageMultiplierList); ViewModel.Resists = CalculateType.FindResists(TypesDamageMultiplierList); ViewModel.Immunes = CalculateType.FindImmunes(TypesDamageMultiplierList); return(View(ViewModel)); }
public PokemonDetailPage() { InitializeComponent(); DataContextChanged += (a, b) => vm = (PokemonDetailViewModel)b.NewValue; MovesCard.ItemClicked += MovesCard_ItemClicked; }
public PokemonDetail(string url) { BindingContext = new PokemonDetailViewModel(url); InitializeComponent(); }