コード例 #1
0
        public async Task Should_Not_Be_Able_To_Add_Pre_Evolution_If_Base_Pokemon_Already_Has_Pre_Evolution()
        {
            // Arrange
            var rnd           = new Random();
            var data          = BogusViewModel.EvolutionViewModelFaker();
            var mappedPokemon = BogusViewModel.PokemonViewModelFaker();

            mappedPokemon.Abilities = null;
            mappedPokemon.Stats     = null;

            var pokemon             = BogusDomain.PokemonFaker();
            var preEvolutionPokemon = BogusDomain.PokemonFaker();

            pokemon.Id             = data.pokemonId;
            pokemon.PreEvolutionId = rnd.Next(1, 152);
            preEvolutionPokemon.Id = data.pokemonEvolutionId - 2;

            pokemonRepository.Setup(x => x.ExistsById(data.pokemonId)).ReturnsAsync(true);
            pokemonRepository.Setup(x => x.ExistsById(data.pokemonEvolutionId)).ReturnsAsync(true);
            pokemonRepository.Setup(x => x.FindById(data.pokemonId)).ReturnsAsync(pokemon);
            pokemonRepository.Setup(x => x.FindById(data.pokemonEvolutionId)).ReturnsAsync(
                preEvolutionPokemon
                );

            // Act

            // Assert
            await Assert.ThrowsAsync <PokemonException>(
                () => pokemonServices.AddPokemonPreEvolution(data)
                );
        }
コード例 #2
0
        public async Task Should_Not_Be_Able_To_Add_Pre_Evolution_If_Base_Pokemon_Not_Exist()
        {
            // Arrange
            var data = BogusViewModel.EvolutionViewModelFaker();

            pokemonRepository.Setup(x => x.FindById(data.pokemonId)).ReturnsAsync((Pokemon)null);

            // Act

            // Assert
            await Assert.ThrowsAsync <PokemonException>(
                () => pokemonServices.AddPokemonPreEvolution(data)
                );
        }
コード例 #3
0
        public async Task Should_Be_Able_To_Add_Pre_Evolution_Pokemon_To_Pokemon()
        {
            // Arrange
            var data          = BogusViewModel.EvolutionViewModelFaker();
            var mappedPokemon = BogusViewModel.PokemonViewModelFaker();

            mappedPokemon.Abilities = null;
            mappedPokemon.Stats     = null;

            var pokemon             = BogusDomain.PokemonFaker();
            var preEvolutionPokemon = BogusDomain.PokemonFaker();

            pokemon.Id             = data.pokemonId;
            preEvolutionPokemon.Id = data.pokemonEvolutionId - 2;

            pokemonRepository.Setup(x => x.ExistsById(data.pokemonId)).ReturnsAsync(true);
            pokemonRepository.Setup(x => x.ExistsById(data.pokemonEvolutionId)).ReturnsAsync(true);
            pokemonRepository.Setup(x => x.FindById(data.pokemonId)).ReturnsAsync(pokemon);
            pokemonRepository.Setup(x => x.FindById(data.pokemonEvolutionId)).ReturnsAsync(
                preEvolutionPokemon
                );
            pokemonRepository.Setup(x => x.SaveChangesToDatabase());

            mapper.Setup(x => x.Map <PokemonViewModel>(pokemon)).Returns(() => {
                mappedPokemon.Id             = data.pokemonId;
                mappedPokemon.PreEvolutionId = data.pokemonEvolutionId;

                return(mappedPokemon);
            });

            // Act
            var response = await pokemonServices.AddPokemonPreEvolution(data);

            // Assert
            Assert.Equal(data.pokemonId, response.Id);
            Assert.Equal(data.pokemonEvolutionId, response.PreEvolutionId);
        }