Beispiel #1
0
        public async Task <ActionResult <IEnumerable <BlogPostSummaryViewModel> > > GetByCategoryId(int id)
        {
            var message = new GetBlogPostsByCategoryQuery()
            {
                CategoryId = id
            };
            var blogs = await _mediator.Send(message);

            return(blogs.ToList());
        }
Beispiel #2
0
        public async Task GetBlogPostsByCategoryQueryHandler_ReturnsBlogs()
        {
            var query = new GetBlogPostsByCategoryQuery();

            using (var context = TestContext.CreateNewContext())
            {
                var category = await context.Categories.FirstAsync();

                query.CategoryId = category.Id;
            }
            var handlerContext = TestContext.CreateHandlerContext <IEnumerable <BlogPostSummaryViewModel> >(RequestDbContext, CreateMapper());
            var handler        = new GetBlogPostsByCategoryQueryHandler(handlerContext);

            var result = await handler.Handle(query, CancellationToken.None);

            Assert.NotEmpty(result);
        }
        public async Task <IEnumerable <BlogPostSummaryViewModel> > Handle(GetBlogPostsByCategoryQuery request, CancellationToken cancellationToken)
        {
            var blogs = await _cacheService.GetOrAddAsync(() => BlogPostsFactoryAsync(request.CategoryId), request.CategoryId);

            return(_context.Map(blogs));
        }