public async Task GetPaginatedTopRatedMovies_ShouldReturn_BadRequest_WhenProvidingInvalidParameters() { var request = new PageRequestFiltersForTopRatedMovies { Page = -22 }; var response = new GetPaginatedMoviesViewModel { Page = 0, Results = new List <GetMovieViewModel>(), Total_Pages = 0, Total_Results = 0, Errors = new List <string> { "page must be greater than 0" } }; _mediator.Setup(m => m.Send(It.IsAny <PageRequestFiltersForTopRatedMovies>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var badResult = await _movieController.GetPaginatedTopRatedMovies(request); Assert.IsType <BadRequestObjectResult>(badResult); }
public async Task <IActionResult> GetPaginatedTopRatedMovies([FromQuery] PageRequestFiltersForTopRatedMovies filters) { var result = await _mediator.Send(filters); if (result.Errors.Count > 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task GetPaginatedTopRatedMovies_ShouldReturn_OK_WhenProvidingCorrectParameters() { var request = new PageRequestFiltersForTopRatedMovies { Page = 2 }; _mediator.Setup(m => m.Send(It.IsAny <PageRequestFiltersForTopRatedMovies>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new GetPaginatedMoviesViewModel()); var okResult = await _movieController.GetPaginatedTopRatedMovies(request); Assert.IsType <OkObjectResult>(okResult); }