public async Task <ActionResult <IEnumerable <ResumeEventViewModel> > > GetByAuthorId(int authorId) { var query = new GetResumeEventsQuery() { AuthorId = authorId }; return(this.OkOrNotFound(await _mediator.Send(query))); }
public async Task <IEnumerable <ResumeEventViewModel> > Handle(GetResumeEventsQuery message, CancellationToken cancellationToken) { var author = await _dbContext.Authors.FirstOrDefaultAsync(a => a.Id == message.AuthorId); var resumeEvents = await _dbContext.ResumeEvents.Where(r => r.AuthorId == author.Id) .OrderByDescending(r => r.DateRange.StartDate) .ToListAsync(); return(_context.Map(resumeEvents)); }
public async Task GetResumeEventsQueryHandler_ReturnsResumeEvents() { var resumeEvents = await SeedData(); var authorId = resumeEvents.First().AuthorId; var message = new GetResumeEventsQuery() { AuthorId = authorId }; var handlerContext = TestContext.CreateHandlerContext <IEnumerable <ResumeEventViewModel> >(RequestDbContext); var handler = new GetResumeEventsQueryHandler(handlerContext); var result = await handler.Handle(message, CancellationToken.None); Assert.Equal(2, result.Count()); }