Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
        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));
        }