示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }