public async Task CallMovieServiceOnce_OnGet() { // Arrange var movieServiceMock = new Mock <IMovieService>(); var genreServiceMock = new Mock <IGenreService>(); string movieName = "Spiderman"; int rating = 10; var rateModel = new RateMovieViewModel() { Name = movieName, Rating = rating }; movieServiceMock .Setup(g => g.RateMovieAsync(movieName, rating)) .ReturnsAsync(new MovieViewModel()); var sut = new MovieController(movieServiceMock.Object, genreServiceMock.Object); // Act await sut.Rate(rateModel); // Assert movieServiceMock.Verify(m => m.RateMovieAsync(movieName, rating), Times.Once); }
public async Task ReturnCorrectViewModel_OnGet() { // Arrange var movieServiceMock = new Mock <IMovieService>(); var genreServiceMock = new Mock <IGenreService>(); string movieName = "Spiderman"; int rating = 10; var rateModel = new RateMovieViewModel() { Name = movieName, Rating = rating }; movieServiceMock .Setup(g => g.RateMovieAsync(movieName, rating)) .ReturnsAsync(new MovieViewModel()); var sut = new MovieController(movieServiceMock.Object, genreServiceMock.Object); // Act var result = await sut.Rate(rateModel) as JsonResult; // Assert Assert.IsInstanceOfType(result.Value, typeof(MovieViewModel)); }
public async Task <IActionResult> Rate([FromBody] RateMovieViewModel rateMovieModel) { var movie = await this.movieService.RateMovieAsync(rateMovieModel.Name, rateMovieModel.Rating); return(this.Json(movie)); }