private static PagedUnansweredQuestionsQuery PagedUnansweredQuestionQuery() { var dispatcherMock = new Mock <IQueryDispatcher>(); var query = new PagedUnansweredQuestionsQuery(dispatcherMock.Object); return(query); }
public void HandleAsync_Returns_Task_Of_IResultWithTotalCount_Of_AnsweredQuestionDto() { //Arrange var handler = PagedUnansweredQuestionsQueryHandler(); var dispatcherMock = new Mock <IQueryDispatcher>(); var query = new PagedUnansweredQuestionsQuery(dispatcherMock.Object); //Act var result = handler.HandleAsync(query); //Assert Assert.IsInstanceOf <Task <IResultWithTotalCount <UnansweredQuestionDto> > >(result); }
public override async Task <IResultWithTotalCount <UnansweredQuestionDto> > HandleAsync(PagedUnansweredQuestionsQuery query, CancellationToken token) { var unansweredQuestions = Entities().Include(x => x.Category) .Where(x => !x.DateAnswered.HasValue) .OrderByDescending(x => x.DateCreated); var unansweredQuestionsDataTransferObjects = ProjectTo <UnansweredQuestionDto>(unansweredQuestions); var result = new ResultWithTotalCount <UnansweredQuestionDto> { Result = await unansweredQuestionsDataTransferObjects.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize).ToArrayAsync(token), TotalCount = await unansweredQuestionsDataTransferObjects.CountAsync(token) }; return(result); }
public override async Task <IResultWithTotalCount <UnansweredQuestionDto> > HandleAsync(PagedUnansweredQuestionsQuery query, CancellationToken token) { var questions = await Session.QueryOver <Question>().Where(p => p.DateAnswered == null) .OrderBy(p => p.DateCreated).Desc.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize) .ListAsync(token); var result = new ResultWithTotalCount <UnansweredQuestionDto> { Result = MapTo <UnansweredQuestionDto[]>(questions), TotalCount = await Session.QueryOver <Question>().Where(p => p.DateAnswered == null).RowCountAsync(token) }; return(result); }