public SeiyuuController( ILoggingService loggingService, GetSeiyuuCardInfoQueryHandler getSeiyuuCardInfoQueryHandler, SearchSeiyuuQueryHandler searchSeiyuuQueryHandler, CompareSeiyuuQueryHandler compareSeiyuuQueryHandler ) : base(loggingService) { _getSeiyuuCardInfoQueryHandler = getSeiyuuCardInfoQueryHandler; _searchSeiyuuQueryHandler = searchSeiyuuQueryHandler; _compareSeiyuuQueryHandler = compareSeiyuuQueryHandler; }
public async Task HandleAsync_GivenRepositoryReturnEmptyCollection_ShouldReturnEmptyResults() { // Given var query = new SearchSeiyuuQuery(); var mockRepository = new Mock <ISeiyuuRepository>(); mockRepository.Setup(x => x.GetOrderedPageByPopularityAsync(It.IsAny <Expression <Func <Seiyuu, bool> > >(), 0, 10)) .ReturnsAsync(new PagedResult <Seiyuu> { Results = new List <Seiyuu>() }); var mockAnimeSearchCriteriaService = new Mock <ISeiyuuSearchCriteriaService>(); mockAnimeSearchCriteriaService.Setup(x => x.BuildExpression(query)).Returns(f => true); var handler = new SearchSeiyuuQueryHandler(mockRepository.Object, mockAnimeSearchCriteriaService.Object); // When var result = await handler.HandleAsync(query); // Then mockRepository.Verify(x => x.GetOrderedPageByPopularityAsync(It.IsAny <Expression <Func <Seiyuu, bool> > >(), 0, 10), Times.Once); result.Results.Should().BeEmpty(); }