public void UpdateAsync_ValidateRating_Test() { // Arrange long customerId = 0; long orderId = 0; var now = DateTime.Now; var feedback = _dataFixture.GetFeedback(now, FeedbackType.Order); feedback.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.UpdateAsync(customerId, orderId, feedback, CancellationToken.None).Result); Assert.Equal("One or more errors occurred. (Invalid rating. Rating must be between 1 to 5.)", ex.Message); }
public void UpdateAsync_Test() { // Arrange long customerId = 0; long orderId = 0; var now = DateTime.Now; var feedback = _dataFixture.GetFeedback(now, FeedbackType.Order); var cachedFeedbackList = new List <Feedback> { feedback }; var customer = _dataFixture.GetCustomer(); var order = _dataFixture.GetOrder(now); order.FeedbackSid = feedback.Sid; _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()); mockRepository.Setup(repo => repo.Update <Feedback>(It.IsAny <Feedback>())).Verifiable(); mockCacheManager .Setup(cache => cache.GetFromCacheAsync <List <Feedback> >(It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(cachedFeedbackList); customerFacadeMock .Setup(facade => facade.GetCustommerByIdAsync(It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(customer); orderFacadeMock .Setup(facade => facade.GetOrderByIdAsync(It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(order); var orderFeedbackFacade = new OrderFeedbackFacade (mockRepository.Object, orderFacadeMock.Object, customerFacadeMock.Object, productFacadeMock.Object, mockCacheManager.Object, mockOptions.Object); // Act var result = orderFeedbackFacade.UpdateAsync(customerId, orderId, feedback, CancellationToken.None).Result; // Assert Assert.NotNull(result); Assert.Equal(0, result.Sid); Assert.Equal(1, result.FeedbackType); Assert.Equal(0, result.CustomerSid); Assert.Equal("This is a comment", result.Comment); }