Exemplo n.º 1
0
        public async Task GivenErrorResult_WhenTranslated_ThenControllerShouldReturnBadRequest()
        {
            // Arrange
            string      pokemonName = "Test Pokemon";
            Translation translation = Translation.Shakespeare;

            _mockPokespeareWorker.Setup(pw => pw.TranslatePokemon(It.IsAny <string>(), It.IsAny <Models.Translation>())).ReturnsAsync(new ServiceResult <TranslatedPokemon>(Result.Error, $"No translation for {translation}", null));
            var controller = new PokemonController(_mockLoggerFactory, _mockPokespeareWorker.Object);

            // Act
            var result = await controller.Index(pokemonName, translation.ToString());

            // Assert
            var value = result.Should().BeBadRequestResult();
        }
Exemplo n.º 2
0
        public async Task GivenInvalidTranslation_WhenTranslated_ThenControllerShouldReturnNoContent()
        {
            // Arrange
            string pokemonName = "Test Pokemon";
            string translation = "Invalid";

            _mockPokespeareWorker.Setup(pw => pw.TranslatePokemon(It.IsAny <string>(), It.IsAny <Models.Translation>())).ReturnsAsync(new ServiceResult <TranslatedPokemon>(Result.NoTranslation, $"No translation for {translation}", null));
            var controller = new PokemonController(_mockLoggerFactory, _mockPokespeareWorker.Object);

            // Act
            var result = await controller.Index(pokemonName, translation);

            // Assert
            var value = result.Should().BeNoContentResult();
        }
Exemplo n.º 3
0
        public async Task GivenOKTranslationResult_WhenTranslated_ThenControllerShouldReturnOKResultWithContent()
        {
            // Arrange
            string            pokemonName       = "Test Pokemon";
            Translation       translation       = Translation.Shakespeare;
            TranslatedPokemon translatedPokemon = new TranslatedPokemon();

            _mockPokespeareWorker.Setup(pw => pw.TranslatePokemon(It.IsAny <string>(), It.IsAny <Models.Translation>())).ReturnsAsync(new ServiceResult <TranslatedPokemon>(Result.OK, string.Empty, translatedPokemon));
            var controller = new PokemonController(_mockLoggerFactory, _mockPokespeareWorker.Object);

            // Act
            var result = await controller.Index(pokemonName, translation.ToString());

            // Assert
            var value = result.Should().BeOkObjectResult().ValueAs <TranslatedPokemon>();

            value.Should().Be(translatedPokemon);
        }