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