public void Create_ShouldReturnNewsRepository(NewsRepositoryFactory factory, Db db, string itemName, ID itemId)
        {
            db.Add(new DbItem(itemName, itemId, Templates.NewsFolder.ID));
            var contextItem = db.GetItem(itemId);
            var repo        = factory.Create(contextItem);

            repo.Should().BeAssignableTo <INewsRepository>();
        }
Example #2
0
        public async Task <IActionResult> List([FromServices] NewsRepositoryFactory newsRepositoryFactory, [FromQuery] GetNewsListRequest request)
        {
            var newsRepository = await newsRepositoryFactory.CreateAsync(request.Lang);

            var responseData = newsRepository
                               .EnumerateAll()
                               .OrderByDescending(x => x.PublishedAt)
                               .Skip(request.Skip)
                               .Take(request.Take)
                               .Select(x => new GetNewsListResponse()
            {
                Id     = x.Id,
                Pinned = x.IsPinned,
                Time   = x.PublishedAt,
                Title  = x.Title
            });

            return(ApiResult(responseData));
        }
Example #3
0
        public async Task <IActionResult> Content([FromServices] NewsRepositoryFactory newsRepositoryFactory, [FromQuery] GetContentBaseRequest request)
        {
            var newRepository = await newsRepositoryFactory.CreateAsync(request.Lang);

            var newsObj = newRepository.GetSingle(request.Id);

            if (newsObj == null)
            {
                return(ApiResult(404, "Not Found"));
            }

            return(ApiResult(new GetNewsContentResponse()
            {
                Id = newsObj.Id,
                Content = newsObj.Content,
                Pinned = newsObj.IsPinned,
                Time = newsObj.PublishedAt,
                Title = newsObj.Title
            }));
        }
 public void Create_ContextItemWithWrongTemplate_ShouldReturnNewsRepository(NewsRepositoryFactory factory, [Content] Item contextItem)
 {
     var repo = factory.Invoking(x => x.Create(contextItem)).ShouldThrow <InvalidDataSourceItemException>();
 }