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); }
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)); } }