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>());
        }
示例#3
0
        public async Task <ActionResult <Movie> > GetMovieAsync(int ID)
        {
            var result = await _detailService.GetMovieAsync(ID);

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