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