Пример #1
0
        public async Task GetTranslated_BothServicesAndMapperReturnNonNull_ReturnsMappedDto()
        {
            Pokemon pokemon = GetNewPokemon();
            var     translatedPokemonDto = new TranslatedPokemonDto()
            {
                Name            = "name",
                Description     = "translated description",
                TranslationType = "Shakespeare",
                Habitat         = "habitat",
                IsLegendary     = true
            };

            _mockPokemonService.Setup(ps => ps.GetPokemon(It.IsAny <string>())).ReturnsAsync(pokemon);
            var translatedPokemon = new Pokemon(
                pokemon.Name,
                new TranslatedText("translated description", TranslationType.Shakespeare),
                pokemon.Habitat,
                pokemon.IsLegendary);

            _mockTranslationService.Setup(ts => ts.TranslateDescription(pokemon))
            .ReturnsAsync(translatedPokemon);
            _mockTranslatedPokemonMapper.Setup(pm => pm.Map(translatedPokemon)).Returns(translatedPokemonDto);

            var getResult = await _controller.GetTranslated("name");

            var okObjectResult = (OkObjectResult)getResult.Result;

            Assert.AreEqual(translatedPokemonDto, okObjectResult.Value);
        }
Пример #2
0
        public async Task <ActionResult <PokemonDto> > GetTranslated([FromRoute] string name)
        {
            Pokemon pokemon = await _pokemonService.GetPokemon(name);

            if (pokemon == null)
            {
                return(NotFound());
            }

            pokemon = await _translationService.TranslateDescription(pokemon);

            TranslatedPokemonDto pokemonDto = _translatedPokemonMapper.Map(pokemon);

            return(Ok(pokemonDto));
        }