public async Task SearchMovieByTitle_400(SearchMovieByTitleRequest request) { // Arrange var mockMovieService = new Mock <IMovieService>(); mockMovieService.Setup(x => x.SearchMovie(It.IsAny <string>(), It.IsAny <int>())) .Returns(Task.FromResult(EntityCollection.Where(x => request?.SearchString == null ? false: x.Title.Contains(request.SearchString, StringComparison.OrdinalIgnoreCase)).ToList())); // Act var movieController = new MovieController(Mapper, mockMovieService.Object); MockModelState(request, movieController); var response = await movieController.SearchMovieByTitle(request); // Assert var badRequestObject = Assert.IsType <BadRequestObjectResult>(response.Result); Assert.IsType <SerializableError>(badRequestObject.Value); }
public async Task SearchMovieByTitle_200(SearchMovieByTitleRequest request, IEnumerable <MovieEntity> expectedOutput) { // Arrange var expectedResponse = Mapper.Map <IEnumerable <SearchMovieByTitleResponse> >(expectedOutput); var mockMovieService = new Mock <IMovieService>(); mockMovieService.Setup(x => x.SearchMovie(It.IsAny <string>(), It.IsAny <int>())) .Returns(Task.FromResult(EntityCollection.Where(x => x.Title.Contains(request.SearchString, StringComparison.OrdinalIgnoreCase)).ToList())); // Act var movieController = new MovieController(Mapper, mockMovieService.Object); MockModelState(request, movieController); var response = await movieController.SearchMovieByTitle(request); // Assert var okResponse = Assert.IsType <OkObjectResult>(response.Result); var result = Assert.IsAssignableFrom <IEnumerable <SearchMovieByTitleResponse> >(okResponse.Value); Assert.Equal(expectedResponse.Count(), result.Count()); Assert.Equal(expectedResponse.Select(x => x.Title), result.Select(x => x.Title)); Assert.Equal(expectedResponse.Select(x => x.PlotSummary), result.Select(x => x.PlotSummary)); }