public async Task GetMovieDetails_WhenCorrectTitle_ShouldReturnMovie()
        {
            // Arrange
            var request = new MovieDetailsRequest(_omdbSettings.ApiKey, new MovieTitle("Batman"));

            // Act
            var response = await _client.GetMovieDetails(request);

            // Assert
            response.ShouldBeSuccessful();
        }
        public void GetMovieDetails_WhenApiKeyMissing_ThenThrowsException(string apiKey)
        {
            // Arrange
            var request = new MovieDetailsRequest(apiKey, new ImdbId(Guid.NewGuid().ToString()));

            // Act
            Action action = () => _httpClient.GetMovieDetails(request);

            // Assert
            action.ShouldThrow <MissingOmdbApiKeyException>();
        }
Esempio n. 3
0
        public async Task <IMovieDetailsResponse> GetMovieDetails(long movieId)
        {
            var request = new MovieDetailsRequest();

            request.Lang       = _culture;
            request.MovieId    = movieId;
            request.Expand     = MovieListRequest.ExpandNames.IMAGES;
            request.TextFormat = TextFormatEnum.Plain;

            var res = await request.ExecuteAsync();

            return(res);
        }
        public async Task GetMovieDetails_WhenCorrectImdbId_ShouldReturnMovie()
        {
            // Arrange
            var request = new MovieDetailsRequest(_omdbSettings.ApiKey, new ImdbId("tt0096895"))
            {
                PlotType = PlotType.Full,
            };

            // Act
            var response = await _client.GetMovieDetails(request);

            // Assert
            response.ShouldBeSuccessful();
        }
        public async Task SearchMoviesAndGetMovieDetails_PropertiesShouldMatch()
        {
            // Arrange & Act
            var searchRequest = new SearchMovieRequest(_omdbSettings.ApiKey, "Batman");

            var searchResults = await _client.SearchMovies(searchRequest);

            var searchResult = searchResults.Search.ToList()[0];

            var detailsRequest = new MovieDetailsRequest(_omdbSettings.ApiKey, new ImdbId(searchResult.ImdbId));

            var detailsResult = await _client.GetMovieDetails(detailsRequest);

            // Assert
            detailsResult.ImdbId.ShouldBe(searchResult.ImdbId);
            detailsResult.Title.ShouldBe(searchResult.Title);
            detailsResult.Year.ShouldBe(searchResult.Year);
        }
Esempio n. 6
0
        public async Task should_get_movie_details()
        {
            var request = new MovieListRequest();

            request.Lang = "ru";

            var fieldBuilder = new FieldsBuilder();

            request.Fields   = fieldBuilder.WithField(MovieListRequest.FieldNames.ID).Build();
            request.Location = Location.Spb;

            //then
            var res = await request.ExecuteAsync();

            var first = res.Results.First();

            var detailsRequest = new MovieDetailsRequest();

            detailsRequest.MovieId = first.Id;
            var actual = await detailsRequest.ExecuteAsync();

            Assert.IsNotNull(actual);
            Assert.AreEqual(actual.Id, first.Id);
        }
Esempio n. 7
0
 public virtual Task <MovieDetailsResponse> GetAsync(MovieDetailsRequest request) =>
 Client.SendAsync <MovieDetailsResponse>(request);
        public static Task <MovieDetailsResponse> GetMovieDetails(this HttpMessageInvoker client, MovieDetailsRequest request, CancellationToken cancellationToken = default)
        {
            var url = new OmdbApiUrlBuilder(request.ApiKey)
                      .WithDetailsRequest(request)
                      .Build();

            return(Get <MovieDetailsResponse>(client, url, cancellationToken));
        }
Esempio n. 9
0
 public OmdbApiUrlBuilder WithDetailsRequest(MovieDetailsRequest movieDetailsRequest)
 => WithImdbId(movieDetailsRequest.ImdbId)
 .WithMovieTitle(movieDetailsRequest.Title)
 .WithResultType(movieDetailsRequest.Type)
 .WithPlotType(movieDetailsRequest.PlotType)
 .WithYear(movieDetailsRequest.Year);