public async Task <IActionResult> GetPaginatedPopularMovies([FromQuery] PageRequestFiltersForPopularMovies filters) { var result = await _mediator.Send(filters); if (result.Errors.Count > 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task GetPaginatedPopularMovies_ShouldReturn_OK_WhenProvidingCorrectParameters() { var request = new PageRequestFiltersForPopularMovies { Page = 3 }; _mediator.Setup(m => m.Send(It.IsAny <PageRequestFiltersForPopularMovies>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new GetPaginatedMoviesViewModel()); var okResult = await _movieController.GetPaginatedPopularMovies(request); Assert.IsType <OkObjectResult>(okResult); }
public async Task GetPaginatedPopularMovies_ShouldReturn_BadRequest_WhenProvidingInvalidParameters() { var request = new PageRequestFiltersForPopularMovies { 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 <PageRequestFiltersForPopularMovies>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var badResult = await _movieController.GetPaginatedPopularMovies(request); Assert.IsType <BadRequestObjectResult>(badResult); }