public async Task GetMovieAsync_VerifyValidIdReturnsMovie() { var mockTMDBapi = new Mock <ITMDBapi>(); int? id = 1; Movie movie; Movie newMovie = CommonTestFunctions.GetSampleMovie(true); Context.Movie.Add(newMovie); Context.SaveChanges(); using (var newcontext = new MarksMoviesContext(Options)) { MovieDBAccess db = new MovieDBAccess(newcontext); var service = new DetailsService(db, mockTMDBapi.Object); movie = await service.GetMovieAsync(id); Assert.IsNotNull(movie); Assert.AreEqual(1, await Context.Movie.CountAsync <Movie>()); Assert.AreEqual(1, movie.ID); Assert.AreEqual("Avenger's Endgame", movie.Title); Assert.AreEqual(2019, movie.Year); Assert.AreEqual(Rating.PG13, movie.Rating); Assert.AreEqual(DiscType.UHD_Bluray, movie.MediaType); Assert.AreEqual(299534, movie.TMDB_ID); Assert.IsTrue(movie.Genres.Count == 3); } }
public async Task GetMovieAsync_VerifyNegativeIdReturnsNoMovie() { var mockTMDBapi = new Mock <ITMDBapi>(); int? id = -1; Movie movie; var service = new DetailsService(DbAccess, mockTMDBapi.Object); movie = await service.GetMovieAsync(id); Assert.IsNull(movie); Assert.AreEqual(0, await Context.Movie.CountAsync <Movie>()); }
public async Task <ActionResult <Movie> > GetMovieAsync(int ID) { var result = await _detailService.GetMovieAsync(ID); if (result == null) { return(NotFound()); } else { return(Ok(result)); } }