Пример #1
0
        public async Task Create_AddPokemonToDb_InsertsPokemon()
        {
            var pokemon = new Pokemon()
            {
                Id         = Guid.Parse("47b176a6-535f-447b-9f09-86465f07967a"),
                Name       = "Evegenij",
                Avatar     = "Evgavatar",
                Generation = 2,
                Height     = 100,
                Weight     = 100,
                Abilities  = new List <PokemonAbility>()
                {
                    new PokemonAbility()
                    {
                        Ability = new Ability()
                        {
                            Name = "Leaf strike"
                        }
                    }
                }
            };


            // arrange
            var repository = new Mock <IRepository <Pokemon> >();

            repository.Setup(x =>
                             x.Insert(
                                 It.IsAny <Pokemon>(),
                                 CancellationToken.None
                                 )).ReturnsAsync(pokemon.Id);

            var mapper = TestHelper.GetMapper();

            var logger = new NullLogger <PokemonService>();

            var loggerValidator = new Mock <ILogger <PokemonValidator> >();

            var validator = new PokemonValidator(loggerValidator.Object);

            var service = new PokemonService(mapper: mapper, validator: validator, repository: repository.Object, logger: logger);

            // act
            var pokemonDTO = mapper.Map <PokemonDTO>(pokemon);
            var result     = (await service.Create(pokemonDTO, CancellationToken.None));

            // assert

            repository.Verify(x => x.Insert(
                                  It.IsAny <Pokemon>(),
                                  CancellationToken.None)
                              , Times.Once);

            repository.VerifyNoOtherCalls();
        }
        public ActionResult Create(PokemonViewModel pokemon)
        {
            var service = new PokemonService();

            Pokemon poker = new Pokemon()
            {
                Name          = pokemon.Name,
                ImagePath     = pokemon.ImagePath,
                CurrentHave   = pokemon.CurrentHave,
                PokemonTypeId = pokemon.PokemonTypeId
            };

            service.Create(poker);
            return(RedirectToAction("Index"));
        }