public async Task Can_browse_with_query_and_pagination() { IMongoDatabase database = MongoForTest.Provider.GetDatabase(); var repo = new DataAssetMongoRepository(database); DataAsset dataAsset = BuildDummyDataAsset(); await repo.AddAsync(dataAsset); GetDataAssets query = new GetDataAssets(); query.OnlyPublishable = true; query.Page = 0; query.Results = 10; await repo.BrowseAsync(query); }
public async Task <PagedResult <DataAsset> > BrowseAsync(GetDataAssets query) { if (query is null) { return(PagedResult <DataAsset> .Empty); } var headers = DataAssets.AsQueryable(); if (query.OnlyPublishable) { headers = headers.Where(c => c.State == DataAssetState.Published || c.State == DataAssetState.UnderMaintenance); } return(await headers.OrderBy(h => h.Name).PaginateAsync(query)); }