Exemplo n.º 1
0
        public void Get_ModelHasNullProperties_BadRequestReturned()
        {
            var model  = new MovieFilterCriteriaModel();
            var result = controller.Get(model);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestResult));
        }
Exemplo n.º 2
0
        public void Get_NoMoviesAreReturned_MovieReturned()
        {
            var movieTitle = "Movie";
            var model      = new MovieFilterCriteriaModel {
                Title = movieTitle
            };

            movieServiceMock.Setup(x => x.Filter(model.Title, null, new int[0])).Returns(new List <MovieDto> {
            });

            var result = controller.Get(model);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
Exemplo n.º 3
0
        public IActionResult Get([FromQuery] MovieFilterCriteriaModel model)
        {
            if (model == null || !IsValidFilterCriteria(model))
            {
                return(BadRequest());
            }

            var dtos = movieService.Filter(model.Title, model.YearOfRelease, model.Genres);

            if (!dtos.Any())
            {
                return(NotFound());
            }

            return(Ok(dtos));
        }
Exemplo n.º 4
0
        public void Get_GetsAMovie_MovieReturned()
        {
            var movieTitle = "Movie";
            var model      = new MovieFilterCriteriaModel {
                Title = movieTitle
            };

            movieServiceMock.Setup(x => x.Filter(model.Title, null, new int[0])).Returns(new List <MovieDto> {
                new MovieDto {
                    Title = "Movie"
                }
            });

            var result = controller.Get(model) as OkObjectResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.AreEqual(1, ((IList <MovieDto>)result.Value).Count);
            Assert.AreEqual(movieTitle, ((IList <MovieDto>)result.Value).First().Title);
        }
Exemplo n.º 5
0
 private bool IsValidFilterCriteria(MovieFilterCriteriaModel model)
 {
     return((model.Genres != null && model.Genres.Any()) || !string.IsNullOrEmpty(model.Title) || model.YearOfRelease.HasValue);
 }