コード例 #1
0
ファイル: GetRecentReviewsTests.cs プロジェクト: anuviswan/nt
        public async Task GetRecentReviews_200(string userName, int maxItems, MovieReviewDto expectedReviews)
        {
            // Arrange
            // Arrange
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, userName),
            }, "mock"));

            var expectedResult    = Mapper.Map <MovieReviewDto, GetRecentReviewsResponse>(expectedReviews);
            var mockReviewService = new Mock <IReviewService>();

            mockReviewService.Setup(x => x.GetRecentReviewsFromFollowedAsync(It.IsAny <string>(), It.IsAny <int>()))
            .Returns((string mId, int maxItems) => {
                var reviews = MockDataHelper.GetReviews(mId);
                return(Task.FromResult(new MovieReviewDto
                {
                    Reviews = reviews.Reviews.Take(maxItems)
                }));
            });
            // Act
            var reviewController = new ReviewController(Mapper, mockReviewService.Object);
            var request          = new GetRecentReviewsRequest
            {
                NumberOfItems = 10
            };

            reviewController.ControllerContext.HttpContext = new DefaultHttpContext {
                User = user
            };
            MockModelState(request, reviewController);


            var response = await reviewController.GetRecentReviews(request);

            // Assert
            var okResponse = Assert.IsType <OkObjectResult>(response.Result);
            var result     = Assert.IsAssignableFrom <GetRecentReviewsResponse>(okResponse.Value);

            Assert.True(maxItems >= result.Reviews.Count());
            foreach (var(actualReview, expectedReview) in result.Reviews.Zip(expectedResult.Reviews))
            {
                Assert.Equal(expectedReview.Author.DisplayName, actualReview.Author.DisplayName);
                Assert.Equal(expectedReview.Author.UserName, actualReview.Author.UserName);
                Assert.Equal(expectedReview.Author.Followers, actualReview.Author.Followers);
                Assert.Equal(expectedReview.Author.Id, actualReview.Author.Id);

                Assert.Equal(expectedReview.Description, actualReview.Description);
                Assert.Equal(expectedReview.Rating, actualReview.Rating);
                Assert.Equal(expectedReview.Title, actualReview.Title);

                Assert.Equal(expectedReview.Movie.Id, actualReview.Movie.Id);
                Assert.Equal(expectedReview.Movie.Title, actualReview.Movie.Title);
            }
        }
コード例 #2
0
        public async Task GetAllMovieReviews_400(string movieId, MovieReviewDto expectedReviews)
        {
            // Arrange
            var expectedResult    = Mapper.Map <MovieReviewDto, GetAllReviewsResponse>(expectedReviews);
            var mockReviewService = new Mock <IReviewService>();

            mockReviewService.Setup(x => x.GetAllReviewsAsync(It.IsAny <string>()))
            .Returns((string mId) => Task.FromResult(MockDataHelper.GetReviews(mId)));
            // Act
            var reviewController = new ReviewController(Mapper, mockReviewService.Object);
            var request          = new GetAllReviewsRequest
            {
                MovieId = movieId
            };
            var response = await reviewController.GetAllMovieReviews(request);

            // Assert
            var okResponse = Assert.IsType <OkObjectResult>(response.Result);
            var result     = Assert.IsAssignableFrom <GetAllReviewsResponse>(okResponse.Value);

            Assert.Equal(expectedResult.Reviews.Count(), result.Reviews.Count());
            Assert.False(result.Reviews.Any());
        }
コード例 #3
0
        public async Task GetAllMovieReviews_200(string movieId, MovieReviewDto expectedReviews)
        {
            // Arrange
            var expectedResult    = Mapper.Map <MovieReviewDto, GetAllReviewsResponse>(expectedReviews);
            var mockReviewService = new Mock <IReviewService>();

            mockReviewService.Setup(x => x.GetAllReviewsAsync(It.IsAny <string>()))
            .Returns((string mId) => Task.FromResult(MockDataHelper.GetReviews(mId)));
            // Act
            var reviewController = new ReviewController(Mapper, mockReviewService.Object);
            var request          = new GetAllReviewsRequest
            {
                MovieId = movieId
            };
            var response = await reviewController.GetAllMovieReviews(request);

            // Assert
            var okResponse = Assert.IsType <OkObjectResult>(response.Result);
            var result     = Assert.IsAssignableFrom <GetAllReviewsResponse>(okResponse.Value);


            foreach (var(actualReview, expectedReview) in result.Reviews.Zip(expectedResult.Reviews))
            {
                Assert.Equal(expectedReview.Author.DisplayName, actualReview.Author.DisplayName);
                Assert.Equal(expectedReview.Author.Id, actualReview.Author.Id);
                Assert.Equal(expectedReview.Author.Followers, actualReview.Author.Followers);
                Assert.Equal(expectedReview.Author.UserName, actualReview.Author.UserName);

                Assert.Equal(expectedReview.Movie.Id, actualReview.Movie.Id);
                Assert.Equal(expectedReview.Movie.Title, actualReview.Movie.Title);

                Assert.Equal(expectedReview.Description, actualReview.Description);
                Assert.Equal(expectedReview.Rating, actualReview.Rating);
                Assert.Equal(expectedReview.Title, actualReview.Title);
            }
        }