public void Get_ModelHasNullProperties_BadRequestReturned() { var model = new MovieFilterCriteriaModel(); var result = controller.Get(model); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(BadRequestResult)); }
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)); }
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)); }
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); }
private bool IsValidFilterCriteria(MovieFilterCriteriaModel model) { return((model.Genres != null && model.Genres.Any()) || !string.IsNullOrEmpty(model.Title) || model.YearOfRelease.HasValue); }