public MoviesRepositoryTests()
 {
     this.httpWrapper      = Substitute.For <IHttpWrapper>();
     this.moviesApiContext = Substitute.For <MoviesApiContext>();
     this.httpWrapper.Get <List <MovieQueryResult> >(Arg.Any <Uri>()).Returns(new List <MovieQueryResult>());
     this.moviesApiContext.Endpoint = "http://localhost/mock";
 }
Esempio n. 2
0
        [InlineData("")]         // user is blank
        public void GetTop5RatedMoviesForUser_badRequest(string userId)
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            var result = controller.GetTop5RatedMoviesForUser(userId);

            Assert.IsType <BadRequestResult>(result);
        }
Esempio n. 3
0
        public void GetMovie_with_no_filter_return_badrequest()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            MovieFilter filter = new MovieFilter();

            var result = controller.GetMovie(filter);

            Assert.IsType <BadRequestResult>(result);
        }
Esempio n. 4
0
        public void UpdateAddUserRating_rating_not_valid_return_badrequest(int ratingValue)
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            var userRating = new UserRating {
                MovieId = 1, UserId = "Mary", Rating = ratingValue
            };

            var result = controller.UpdateAddUserRating(userRating);

            Assert.IsType <BadRequestResult>(result);
        }
Esempio n. 5
0
        [InlineData(72, "Mary")]    // movie does not exist
        public void UpdateAddUserRating_return_notfound(int movieId, string userId)
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            var userRating = new UserRating {
                MovieId = movieId, UserId = userId, Rating = 1
            };

            var result = controller.UpdateAddUserRating(userRating);

            Assert.IsType <NotFoundResult>(result);
        }
Esempio n. 6
0
        public void GetMovie_with_filter_noresults_return_notfound()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            MovieFilter filter = new MovieFilter
            {
                Title = "bad title"
            };

            var result = controller.GetMovie(filter);

            Assert.IsType <NotFoundResult>(result);
        }
Esempio n. 7
0
        public void GetTop5RatedMovies_correct_order()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            var result = controller.GetTop5RatedMovies() as ObjectResult;
            var value  = result.Value as List <MovieReturnItem>;

            List <MovieReturnItem> list = value.OrderByDescending(m => m.Rating)
                                          .ThenBy(m => m.Title)
                                          .ToList();

            Assert.Equal(5, value.Count);
            Assert.Equal(list, value);
        }
Esempio n. 8
0
        public void GetMovie_with_genre_filter_return_multiple()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            MovieFilter filter = new MovieFilter
            {
                Genre = "Drama"
            };

            var result       = controller.GetMovie(filter);
            var objectResult = result as ObjectResult;
            var value        = objectResult.Value as List <MovieItem>;

            Assert.Equal(3, value.Count);
        }
Esempio n. 9
0
        public void GetMovie_with_part_filter_values_dont_repeat()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            MovieFilter filter = new MovieFilter
            {
                Title = "Shawshank",
                Year  = 1994
            };

            var result       = controller.GetMovie(filter);
            var objectResult = result as ObjectResult;
            var value        = objectResult.Value as List <MovieItem>;

            Assert.Single(value);
        }
Esempio n. 10
0
        public void UpdateAddUserRating_add_user_rating()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            UserRating userRating = new UserRating {
                UserId = "Wendy", MovieId = 1, Rating = 5
            };

            var result = controller.UpdateAddUserRating(userRating);

            Assert.IsType <NoContentResult>(result);

            UserRating newRating = context.UserRatings
                                   .FirstOrDefault(u => u.UserId == "Wendy" && u.MovieId == 1);

            Assert.NotNull(newRating);
        }
Esempio n. 11
0
        public void UpdateAddUserRating_update_user_rating()
        {
            MoviesApiContext context = MoviesApiContext.CreateContextWithDataForTesting();

            MoviesController controller = new MoviesController(context);

            UserRating userRating = context.UserRatings
                                    .FirstOrDefault(u => u.UserId == "Mary" && u.MovieId == 1);

            userRating.Rating++;
            int expect = userRating.Rating;

            var result = controller.UpdateAddUserRating(userRating);

            Assert.IsType <NoContentResult>(result);

            userRating = context.UserRatings
                         .FirstOrDefault(u => u.UserId == "Mary" && u.MovieId == 1);

            Assert.Equal(expect, userRating.Rating);
        }
 public MoviesController(MoviesApiContext context)
 {
     _context = context;
 }
Esempio n. 13
0
 public MoviesController(MoviesApiContext moviesApiContext)
 {
     _moviesApiContext = moviesApiContext;
 }
Esempio n. 14
0
 public MoviesRepository(IHttpWrapper httpWrapper, MoviesApiContext moviesApiContext)
 {
     this.httpWrapper      = httpWrapper;
     this.moviesApiContext = moviesApiContext;
 }