protected override void ProcessRecord() { WriteVerbose("Getting wallpaper..."); var wallheavenClient = new WallhavenClient(new WebClientFactory()); List <WallpaperInfo> wallpaperInfos = new List <WallpaperInfo>(); if (Latest.IsPresent) { wallpaperInfos = wallheavenClient.GetLatest(PageNumber); } else if (Random.IsPresent) { wallpaperInfos = wallheavenClient.GetRandom(PageNumber); } else if (Search.IsPresent) { var searchParams = new SearchParameter { Page = PageNumber, Categories = GetCategory(), Sorting = SearchSorting, Order = SearchOrder, Query = SearchQuery, Purity = GetPurity(), Ratios = Ratios, Resolutions = Resolutions }; wallpaperInfos = wallheavenClient.Search(searchParams); } WriteVerbose($"Got {wallpaperInfos.Count} wallpaper"); wallpaperInfos.ForEach(WriteObject); }
public void GetLatest_NoPageNumber_CallsUrlWithoutPageNumber() { var webClientMock = CreateWebClientMock(new Uri("https://alpha.wallhaven.cc/latest")); var webClientFactory = CreateWebClientFactory(webClientMock.Object); var client = new WallhavenClient(webClientFactory); client.GetLatest(); webClientMock.VerifyAll(); }
public void GetLatest_PageNumber_CallsUrlWithPageNumber(int pageNumber) { var webClientMock = CreateWebClientMock(new Uri($"https://alpha.wallhaven.cc/latest?page={pageNumber}")); var webClientFactory = CreateWebClientFactory(webClientMock.Object); var client = new WallhavenClient(webClientFactory); client.GetLatest(pageNumber); webClientMock.VerifyAll(); }
public void GetLatest_NoPageNumber_ReturnsTheImagesOfFirstPage() { var webClientMock = CreateWebClientMock(includeDetailPageData: true); var webClientFactory = CreateWebClientFactory(webClientMock.Object); var client = new WallhavenClient(webClientFactory); List <WallpaperInfo> latestWallpapers = client.GetLatest(); Assert.That(latestWallpapers, Is.Not.Empty); Assert.That(latestWallpapers.All(IsValidWallpaperInfo), Is.True); }