public async Task GetMovieDetailsAsync_VerifySuccessReturnsMovieDetails()
        {
            var httpclient         = new HttpClient();
            var TMDBapi            = new TMDBapi(httpclient);
            var tmdb_id            = 299534;
            var expectedGenreCount = 3;
            var TonyStarkExists    = false;
            var expectedName       = "Tony Stark / Iron Man";

            var service = new DetailsService(DbAccess, TMDBapi);

            var moviedetails = await service.GetMovieDetailsAsync(tmdb_id);

            Assert.IsNotNull(moviedetails);
            Assert.AreEqual(moviedetails.genres.ToList().Count, expectedGenreCount);
            Assert.IsNotNull(moviedetails.credits);
            Assert.IsNotNull(moviedetails.credits.cast);
            Assert.IsTrue(moviedetails.credits.cast.ToList().Count > 0);
            foreach (var person in moviedetails.credits.cast)
            {
                if (person.character == expectedName)
                {
                    TonyStarkExists = true;
                    break;
                }
            }
            Assert.IsTrue(TonyStarkExists);
        }
        public async Task GetMovieDetailsAsync_VerifyZeroIdReturnsNoMovie()
        {
            var mockTMDBapi = new Mock <ITMDBapi>();
            int tmdb_id     = 0;

            var service = new DetailsService(DbAccess, mockTMDBapi.Object);

            var moviedetails = await service.GetMovieDetailsAsync(tmdb_id);

            Assert.IsNull(moviedetails);
        }
示例#3
0
        public async Task <ActionResult <MovieDetails> > GetMovieDetailsAsync(int TMDBapi_ID)
        {
            if (TMDBapi_ID <= 0)
            {
                return(BadRequest());
            }

            var result = await _detailService.GetMovieDetailsAsync(TMDBapi_ID);

            if (result == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(result));
            }
        }