public void GetAll_10_ReturnsValidTorrents() { // Arrange const int expectedCount = TorrentsCount; // Act var torrents = _torrentRepository.GetAll(); // Assert Assert.NotNull(torrents); Assert.Equal(expectedCount, torrents.Count()); }
public async Task <IPagedList <Torrent> > ListAsync(ITorrentFilter filter) { Guard.Against.OutOfRange(filter.Page, Constants.Filter.PageRangeFrom, Constants.Filter.PageRangeTo, Resources.Page_InvalidPageNumber); var message = string.Format(Resources.PageSize_InvalidPageSizeNumber, Constants.Filter.PageRangeFrom, Constants.Filter.PageRangeTo); Guard.Against.OutOfRange(filter.PageSize, Constants.Filter.PageRangeFrom, Constants.Filter.PageRangeTo, message); var query = _torrentRepository.GetAll(x => string.IsNullOrWhiteSpace(filter.Search) || x.Name.Contains(filter.Search)); if (filter.CategoryId.HasValue) { Guard.Against.LessOne(filter.CategoryId.Value, Resources.Torrent_InvalidCategoryId_ErrorMessage); query = query.Where(x => x.Subcategory.CategoryId == filter.CategoryId.Value); } if (filter.SubcategoryId.HasValue) { Guard.Against.LessOne(filter.SubcategoryId.Value, Resources.Torrent_InvalidSubcategoryId_ErrorMessage); query = query.Where(x => x.SubcategoryId == filter.SubcategoryId.Value); } query = query.OrderBy(x => x.Id); var pagedList = await ApplyFilterAsync(query, filter); Guard.Against.NullNotFound(pagedList.Items, Resources.Torrent_NotFoundList_ErrorMessage); return(pagedList); }