Esempio n. 1
0
        public void GetLatestAsync_RatingNotNull_Test()
        {
            // Arrange
            int?rating = 1;
            var now    = DateTime.Now;

            var cachedFeedbackList = _dataFixture.GetFeedbackList();

            _dataFixture.GetMocks <Feedback>(out var mockRepository, out var mockCacheManager, out var mockOptions);
            _dataFixture.GetMocks(out var orderFacadeMock, out var customerFacadeMock, out var productFacadeMock);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <Feedback> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedFeedbackList);

            mockRepository.Setup(repo => repo.GetManagerInstance <OrderFeedbackManager>()).Returns(() => new OrderFeedbackManager());

            var orderFeedbackFacade = new OrderFeedbackFacade
                                          (mockRepository.Object,
                                          orderFacadeMock.Object,
                                          customerFacadeMock.Object,
                                          productFacadeMock.Object,
                                          mockCacheManager.Object,
                                          mockOptions.Object);

            // Act
            var result = orderFeedbackFacade.GetLatestAsync(rating, CancellationToken.None).Result;

            // Assert
            Assert.NotNull(result);
            Assert.Equal(10, result.Count);
        }
Esempio n. 2
0
        public void GetLatestAsync_ValidateRating_Test()
        {
            // Arrange
            int?rating = 6;

            _dataFixture.GetMocks <Feedback>(out var mockRepository, out var mockCacheManager, out var mockOptions);
            _dataFixture.GetMocks(out var orderFacadeMock, out var customerFacadeMock, out var productFacadeMock);

            mockRepository.Setup(repo => repo.GetManagerInstance <OrderFeedbackManager>()).Returns(() => new OrderFeedbackManager());

            var orderFeedbackFacade = new OrderFeedbackFacade
                                          (mockRepository.Object,
                                          orderFacadeMock.Object,
                                          customerFacadeMock.Object,
                                          productFacadeMock.Object,
                                          mockCacheManager.Object,
                                          mockOptions.Object);

            // Act & Assert
            var ex = Assert.Throws <AggregateException>(() => orderFeedbackFacade.GetLatestAsync(rating, CancellationToken.None).Result);

            Assert.Equal("One or more errors occurred. (Invalid rating. Rating must be between 1 to 5.)", ex.Message);
        }