コード例 #1
0
        public async void Test_Controller_Get()
        {
            var resultMany = await _controller.Get();

            var resultFail = await _controller.Get(0);

            var resultOne = await _controller.Get(1);

            Assert.NotNull(resultMany);
            Assert.NotNull(resultFail);
            Assert.NotNull(resultOne);
        }
コード例 #2
0
        public void GetReviews(int count)
        {
            _fakeRepository.Setup(m => m.Get()).Returns(_reviewGenerator.Get(count));
            var result = _controller.Get();

            result.Should()
            .NotBeNull("a result is always expected").And
            .BeAssignableTo <IActionResult>("it should implement IActionResult").And
            .BeOfType <OkObjectResult>("it should be an Ok Result").Which
            .Value.Should()
            .NotBeNull("a object is always expected").And
            .BeAssignableTo <IList <ReviewList> >("it should be an implementation of IList<T>").And
            .BeOfType <List <ReviewList> >("it should be a List of Reviews, even if empty");

            var reviews = (result as OkObjectResult).Value as List <ReviewList>;

            reviews.Should()
            .NotBeEmpty("its repository has elements").And
            .HaveCount(count, $"its repository has {count} elements");
        }
コード例 #3
0
        public void GetReviewInternalErrorFailedTest()
        {
            var mock = new Mock <IReviewManagement>(MockBehavior.Strict);

            mock.Setup(m => m.GetById(It.IsAny <Guid>())).Throws(new ServerBusinessLogicException());
            ReviewController reviewController = new ReviewController(mock.Object);

            var result        = reviewController.Get(review.Id);
            var createdResult = result as ObjectResult;

            mock.VerifyAll();
            Assert.AreEqual(500, createdResult.StatusCode);
        }
コード例 #4
0
        private void FillDriverReviewDetails(Driver driver)
        {
            var reviewController = new ReviewController();
            var reviews = reviewController.Get(driver.driverId, "", ReviewStatus.RATED);
            if (reviews == null || reviews.Count == 0)
            {
                return;
            }

            driver.totalReviews = reviews.Count;
            driver.recommendationScore = reviews.FindAll(review => review.driverRecommendation).Count * 100 / reviews.Count;
            int ratingSum = 0;
            foreach (var review in reviews)
            {
                ratingSum += (review.drivingSpeedRating + review.driverBehaviorRating + review.vehicleConditionRating + 3 * (review.driverRecommendation ? 1 : 0)) * 100 / 12;
            }
            driver.ratingColor = (ratingSum / 30) % 3;

            var unratedReviews = reviewController.Get(driver.driverId, "", ReviewStatus.UNRATED);
            if (unratedReviews != null && unratedReviews.Count > 0)
            {
                driver.lastUnratedTripTime = unratedReviews[0].reviewTime;
            }
        }
コード例 #5
0
        public void GetReviewTestOk()
        {
            var mock = new Mock <IReviewManagement>(MockBehavior.Strict);

            mock.Setup(m => m.GetById(It.IsAny <Guid>())).Returns(review);
            ReviewController reviewController = new ReviewController(mock.Object);

            var result        = reviewController.Get(review.Id);
            var createdResult = result as OkObjectResult;
            var model         = createdResult.Value as ReviewModelForResponse;

            var expected = ReviewModelForResponse.ToModel(review);

            mock.VerifyAll();
            Assert.AreEqual(expected, model);
        }
コード例 #6
0
        public void TestReviewGetByIdNotFound()
        {
            // Arrange
            var id = Guid.NewGuid();

            var mockBusinessLogic = new Mock <ISportStoreBusinessLogic>();

            mockBusinessLogic
            .Setup(bl => bl.Review.GetById(id))
            .Returns(null as Review);

            var controller = new ReviewController(mockBusinessLogic.Object);

            // Act
            var result = controller.Get(id);

            // Assert
            mockBusinessLogic.VerifyAll();

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
コード例 #7
0
        public void TestReviewAll()
        {
            // Arrange
            var expectedReviews = FakeReviews();

            var mockBusinessLogic = new Mock <ISportStoreBusinessLogic>();

            mockBusinessLogic
            .Setup(bl => bl.Review.All())
            .Returns(expectedReviews);

            var controller = new ReviewController(mockBusinessLogic.Object);

            // Act
            var obtainedReviews = controller.Get();

            // Assert
            mockBusinessLogic.VerifyAll();

            Assert.IsNotNull(obtainedReviews);
            Assert.AreEqual(expectedReviews.Count(), obtainedReviews.Count());
        }
コード例 #8
0
        public void TestReviewGetById()
        {
            // Arrange
            var expectedReview = FakeReviews().First();

            var mockBusinessLogic = new Mock <ISportStoreBusinessLogic>();

            mockBusinessLogic
            .Setup(bl => bl.Review.GetById(expectedReview.Id))
            .Returns(expectedReview);

            var controller = new ReviewController(mockBusinessLogic.Object);

            // Act
            var result         = controller.Get(expectedReview.Id);
            var obtainedReview = (result as OkNegotiatedContentResult <Review>).Content;

            // Assert
            mockBusinessLogic.VerifyAll();

            Assert.IsNotNull(obtainedReview);
            Assert.AreEqual(expectedReview.Id, obtainedReview.Id);
        }