public CustomerReviewSearchServiceTests() { _randomizer = new Fixture(); _repository = new Mock <ICustomerReviewRepository>(); _customerReviewService = new Mock <ICustomerReviewService>(); _searchService = new CustomerReviewSearchService(() => _repository.Object, _customerReviewService.Object); }
public CustomerReviewSearchServiceTests() { randomizer = new Fixture(); repository = new Mock <ICustomerReviewRepository>(); customerReviewService = new Mock <ICustomerReviewService>(); service = new CustomerReviewSearchService(() => repository.Object, customerReviewService.Object); }
public void CanDoCRUDandSearch() { // Read non-existing item var getByIdsResult = CustomerReviewService.GetByIds(new[] { CustomerReviewId }); Assert.NotNull(getByIdsResult); Assert.Empty(getByIdsResult); // Create var item = new CustomerReview { Id = CustomerReviewId, ProductId = ProductId, CreatedDate = DateTime.Now, CreatedBy = "initial data seed", AuthorNickname = "John Doe", Content = "Liked that", Virtues = "Liked that!", Disadvantages = "Not", Rate = 3 }; CustomerReviewService.SaveCustomerReviews(new[] { item }); getByIdsResult = CustomerReviewService.GetByIds(new[] { CustomerReviewId }); Assert.Single(getByIdsResult); item = getByIdsResult[0]; Assert.Equal(CustomerReviewId, item.Id); // Update var updatedContent = "Updated content"; Assert.NotEqual(updatedContent, item.Content); item.Content = updatedContent; CustomerReviewService.SaveCustomerReviews(new[] { item }); getByIdsResult = CustomerReviewService.GetByIds(new[] { CustomerReviewId }); Assert.Single(getByIdsResult); item = getByIdsResult[0]; Assert.Equal(updatedContent, item.Content); // Search Assert.Throws <ArgumentNullException>(() => CustomerReviewSearchService.SearchCustomerReviews(null)); var criteria = new CustomerReviewSearchCriteria { ProductIds = new[] { ProductId } }; var searchResult = CustomerReviewSearchService.SearchCustomerReviews(criteria); Assert.NotNull(searchResult); Assert.Equal(1, searchResult.TotalCount); Assert.Single(searchResult.Results); // Delete CanDeleteCustomerReviews(); }
public void SearchCustomerReviews_ExistingItem_ReturnsItem() { string testProductId = "testProductId"; var criteria = new CustomerReviewSearchCriteria { ProductIds = new[] { testProductId } }; var searchResult = CustomerReviewSearchService.SearchCustomerReviews(criteria); Assert.NotNull(searchResult); Assert.NotEqual(0, searchResult.TotalCount); }
public async Task CanDoCRUDandSearch() { // Read non-existing item var getByIdsResult = await CustomerReviewService.GetByIdsAsync(new[] { CustomerReviewId }); Assert.NotNull(getByIdsResult); Assert.Empty(getByIdsResult); // Create var item = new CustomerReview { Id = CustomerReviewId, ProductId = ProductId, CreatedDate = DateTime.Now, CreatedBy = "initial data seed", CustomerName = "John Doe", ReviewContent = "Liked that" }; await CustomerReviewService.SaveCustomerReviewsAsync(new[] { item }); _mockCustomerReviewRepository.Setup(ss => ss.GetByIdsAsync(new[] { CustomerReviewId })) .ReturnsAsync(new[] { new CustomerReviewEntity().FromModel(item, new PrimaryKeyResolvingMap()) }); getByIdsResult = await CustomerReviewService.GetByIdsAsync(new[] { CustomerReviewId }); Assert.Single(getByIdsResult); item = getByIdsResult[0]; Assert.Equal(CustomerReviewId, item.Id); // Update var updatedContent = "Updated content"; Assert.NotEqual(updatedContent, item.ReviewContent); item.ReviewContent = updatedContent; await CustomerReviewService.SaveCustomerReviewsAsync(new[] { item }); getByIdsResult = await CustomerReviewService.GetByIdsAsync(new[] { CustomerReviewId }); Assert.Single(getByIdsResult); item = getByIdsResult[0]; Assert.Equal(updatedContent, item.ReviewContent); // Search var mockReviews = new[] { new CustomerReviewEntity().FromModel(item, new PrimaryKeyResolvingMap()) }.AsQueryable().BuildMock(); _mockCustomerReviewRepository.SetupGet(x => x.CustomerReviews).Returns(mockReviews.Object); var criteria = new CustomerReviewSearchCriteria { ProductIds = new[] { ProductId } }; var cacheKey = CacheKey.With(CustomerReviewSearchService.GetType(), nameof(CustomerReviewSearchService.SearchCustomerReviewsAsync), criteria.GetCacheKey()); _platformMemoryCacheMock.Setup(pmc => pmc.CreateEntry(cacheKey)).Returns(_cacheEntryMock.Object); var searchResult = await CustomerReviewSearchService.SearchCustomerReviewsAsync(criteria); Assert.NotNull(searchResult); Assert.Equal(1, searchResult.TotalCount); Assert.Single(searchResult.Results); // Delete _mockCustomerReviewRepository.Setup(ss => ss.GetByIdsAsync(new[] { CustomerReviewId })) .ReturnsAsync(new CustomerReviewEntity[0]); await CanDeleteCustomerReviews(); }
public void SearchCustomerReviews_Null_ThrowsArgumentNullException() { Action actual = () => CustomerReviewSearchService.SearchCustomerReviews(null); Assert.Throws <ArgumentNullException>(actual); }