public async Task SearchMovieByNameTest(string searchTerm) { // Arrange var request = new SearchMovieByNameRequest { Keys = _apiKeys.Value, SearchTerm = searchTerm }; var handler = new SearchMovieByNameHandler(_apiKeys, _servicePath); SearchMovieByNameResponse response = null; // Act try { response = await handler.Handle(request, new System.Threading.CancellationToken()); Assert.NotNull(response); } catch (Exception) { Assert.ThrowsAsync <HttpRequestException>(async() => { await handler.Handle(request, new System.Threading.CancellationToken()); }, "Parameter threw HttpRequestException error"); } }
public async Task <IActionResult> SearchMoviesByName(string term) { var request = new SearchMovieByNameRequest { SearchTerm = term, }; var results = await _mediator.Send(request); var existingMovies = await _mediator.Send(new GetExistingMoviesRequest()); var model = new SearchResultViewModel(); foreach (var item in results.Movies) { var movieExists = new MovieExists(); var existingMovie = existingMovies.Movies.SingleOrDefault(x => x.TmdbId == item.TmdbId); if (existingMovie != null) { movieExists.Downloaded = existingMovie.MovieFile != null; movieExists.Monitored = existingMovie.Monitored; movieExists.Exists = true; movieExists.Movie = item; } else { movieExists.Exists = false; movieExists.Movie = item; } model.Movies.Add(movieExists); } model.LatestMovie = existingMovies.LatestMovie; return(PartialView("_MovieSearchResultPartial", model)); }