예제 #1
0
        public async Task <IActionResult> Index(PokemonFormViewModel pokemonFormViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    await _pokedexAppLogic.AddPokemon(pokemonFormViewModel);

                    return(View(Constants.Success, new SuccessViewModel()
                    {
                        ActionName = "addition"
                    }));
                }
                else
                {
                    _logger.LogInformation(Constants.InvalidRequest);

                    return(await Index());
                }
            }
            catch (Exception ex)
            {
                return(Error(ex));
            }
        }
예제 #2
0
        public async Task <PokemonFormViewModel> AddPokemon(PokemonFormViewModel pokemonFormViewModel)
        {
            _logger.LogInformation(Constants.Mapping + " " + Constants.Pokemon + " " + ViewModels);

            tblMyPokedex pokemon = _mapper.Map <tblMyPokedex>(pokemonFormViewModel);

            pokemon.Id = Guid.NewGuid();

            await _pokedexRepository.AddPokemon(pokemon);

            return(pokemonFormViewModel);
        }
예제 #3
0
        public async Task AddPokemonIsSuccessfulAndLogsInformation()
        {
            PokemonFormViewModel pokemonFormViewModel = await _pokedexAppLogic.AddPokemon(new PokemonFormViewModel()
            {
                Level = 333
            });

            Assert.AreEqual(333, pokemonFormViewModel.Level);

            _pokedexRepositoryMock.Verify(prm => prm.AddPokemon(It.Is <tblMyPokedex>(p => p.Level == 333)), Times.Once);

            VerifyLoggerAppMockLogsInformation("Mapping Pokémon View Models");
        }
예제 #4
0
        public async Task <IActionResult> Index()
        {
            try
            {
                PokemonFormViewModel pokemonFormViewModel = await _pokedexAppLogic.GetNewPokemonForm();

                return(View(pokemonFormViewModel));
            }
            catch (Exception ex)
            {
                return(Error(ex));
            }
        }
예제 #5
0
        public async Task GetNewPokemonFormIsSuccessfulAndLogsInformation()
        {
            PokemonFormViewModel pokemonFormViewModel = await _pokedexAppLogic.GetNewPokemonForm();

            List <SelectListItem> nationalDexOptions = pokemonFormViewModel.NationalDexOptions.ToList();
            List <SelectListItem> pokeballOptions    = pokemonFormViewModel.PokeballOptions.ToList();
            List <SelectListItem> sexOptions         = pokemonFormViewModel.SexOptions.ToList();

            Assert.AreEqual(5, nationalDexOptions.Count);
            Assert.AreEqual("Name0", nationalDexOptions[0].Text);
            Assert.AreEqual("0", nationalDexOptions[0].Value);
            Assert.AreEqual(5, pokeballOptions.Count);
            Assert.AreEqual("Name0", pokeballOptions[0].Text);
            Assert.AreEqual("0", pokeballOptions[0].Value);
            Assert.AreEqual(2, sexOptions.Count);
            Assert.AreEqual("Female", sexOptions[0].Text);
            Assert.AreEqual("0", sexOptions[0].Value);

            _pokedexRepositoryMock.Verify(prm => prm.GetAllPokeballs(), Times.Once);
            _pokedexRepositoryMock.Verify(prm => prm.GetNationalDex(), Times.Once);

            VerifyLoggerAppMockLogsInformation("Mapping Select List Items.");
        }