예제 #1
0
        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);
        }
예제 #2
0
        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));
        }