コード例 #1
0
        public async Task GetPokemonFavorites_ReturnsPokemonFavorites()
        {
            #region Arrange
            string           id               = UserIdMother.Id();
            UserId           userId           = UserIdMother.UserId();
            int              pokemonId        = PokemonIdMother.Id();
            PokemonFavorites pokemonFavorites = PokemonFavoritesMother.PokemonFavorites();

            var userRepository = new Mock <UserRepository>();

            userRepository
            .Setup(r => r.Find(It.IsAny <UserId>()))
            .ReturnsAsync(UserMother.UserWithFavorites(id, pokemonId));

            userRepository
            .Setup(r => r.Exists(It.IsAny <UserId>()))
            .ReturnsAsync(true);

            UserFinder userFinder = new UserFinder(userRepository.Object);
            PokemonFavoriteSearcher pokemonFavoriteSearcher = new PokemonFavoriteSearcher();
            GetPokemonUserFavorites getPokemonUserFavorites = new GetPokemonUserFavorites(userFinder, pokemonFavoriteSearcher);

            #endregion

            #region Act
            PokemonFavorites favorites = await getPokemonUserFavorites.Execute(id);

            #endregion

            #region Assert
            Assert.True(pokemonFavorites.Favorites.All(f => favorites.Favorites.Any(item =>
                                                                                    item.PokemonId.Id == f.PokemonId.Id)));

            #endregion
        }
コード例 #2
0
 public async Task <IActionResult> Get(string userId)
 {
     try
     {
         return(Ok(PokemonFavoritesToJsonConverter.Execute(await _getPokemonUserFavorites.Execute(userId))));
     }
     catch (UserNotFoundException ex)
     {
         return(NotFound(ex.Message));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex.Message));
     }
 }