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>(); }
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)); }
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>(); }