Exemple #1
0
        public void ShouldReturn_ExpectedActionResultFor_ValidationFailures(MovieRatingSaveValidationResults validationResult)
        {
            //arrange
            MockRatingService.Setup(s => s.ValidateMovieRatingAsync(It.IsAny <MovieRating>())).Returns(Task.FromResult(validationResult));

            //act
            var asyncResult = GetController().Post(new MovieRating());

            //assert
            var result = asyncResult.Result;

            switch (validationResult)
            {
            case MovieRatingSaveValidationResults.NullRating:
            case MovieRatingSaveValidationResults.InvalidMovieId:
            case MovieRatingSaveValidationResults.InvalidUserId:
                Assert.IsInstanceOf <BadRequestObjectResult>(result);
                var badRequest = result as BadRequestObjectResult;
                Assert.AreEqual(validationResult.ToString(), badRequest.Value);
                break;

            case MovieRatingSaveValidationResults.MovieNotfound:
            case MovieRatingSaveValidationResults.UserNotFound:
                Assert.IsInstanceOf <NotFoundObjectResult>(result);
                var notFound = result as NotFoundObjectResult;
                Assert.AreEqual(validationResult.ToString(), notFound.Value);
                break;
            }
        }
Exemple #2
0
        public void WhenCalling_ValidateMovieRating_WithInvalidMovieRating_ExpectResultReturned(int movieId, bool movieExists, int userId, bool userExists, MovieRatingSaveValidationResults expectedResult)
        {
            //arrange
            var movieRating = new MovieRating
            {
                MovieId = movieId,
                UserId  = userId,
                Rating  = 1
            };

            MockUserService.Setup(s => s.UserExistsAsync(userId)).Returns(Task.FromResult(userExists));
            MockMovieService.Setup(s => s.MovieExistsAsync(movieId)).Returns(Task.FromResult(movieExists));

            //act
            var result = GetService().ValidateMovieRatingAsync(movieRating);

            //assert
            Assert.AreEqual(expectedResult, result.Result);
        }