public async Task GetContainers() { _Log.Setup(s => s.LogInformation("Getting job configs.")); const int nowHour = 1; var currentValidMinutes = new List <int> { 10, 15, 20, 30, 60 }; var pendingJobConfig = new PendingJobConfig { ChannelId = 123, Histories = new List <PendingHistory>(), RandomSearchString = "cats" }; var containers = new List <PendingJobConfig> { pendingJobConfig }; _Context.Setup(s => s.GetJobConfigsToRun(nowHour, currentValidMinutes)).ReturnsAsync(containers); _Log.Setup(s => s.LogInformation($"Got {containers.Count} containers.")); var jobConfigs = await _GifPostingHelper.GetContainers(nowHour, currentValidMinutes); _Log.VerifyAll(); _Context.VerifyAll(); foreach (var container in containers) { Assert.That(jobConfigs, Contains.Item(container)); } }
public async Task BuildHistoryContainers_RandomGifAlreadySeen() { const string alreadySeenGifId = "already seen"; const string anotherSeenGifId = "another seen"; const string randomGifAlreadySeenId = "random gif already seen"; var histories = new List <PendingHistory> { new PendingHistory { GifId = alreadySeenGifId }, new PendingHistory { GifId = anotherSeenGifId }, new PendingHistory { GifId = randomGifAlreadySeenId } }; var pendingJobConfig = new PendingJobConfig { Histories = histories, RandomSearchString = "apex legends" }; var containers = new List <PendingJobConfig> { pendingJobConfig }; _Log.Setup(s => s.LogInformation($"Building {containers.Count} histories.")); var urlCaches = new List <UrlCache> { new UrlCache { Id = alreadySeenGifId }, new UrlCache { Id = anotherSeenGifId } }; _Context.Setup(s => s.GetUrlCachesAsync()).ReturnsAsync(urlCaches); const string giphyRandomEndpoint = "giphy random endpoint"; var giphyRandomResponse = new GiphyRandomResponse { Data = new GifObject { Id = randomGifAlreadySeenId } }; _GiphyWrapper.Setup(s => s.GetRandomGifAsync(giphyRandomEndpoint, pendingJobConfig.RandomSearchString)).ReturnsAsync(giphyRandomResponse); _Log.Setup(s => s.LogInformation("Built 0 histories.")); var result = await _GifPostingHelper.BuildHistoryContainers(containers, giphyRandomEndpoint); _Log.VerifyAll(); _Context.VerifyAll(); _GiphyWrapper.VerifyAll(); Assert.That(result.Count, Is.EqualTo(0)); Assert.That(result.Count(s => s.GifId == alreadySeenGifId), Is.EqualTo(0)); Assert.That(result.Count(s => s.GifId == anotherSeenGifId), Is.EqualTo(0)); Assert.That(result.Count(s => s.GifId == randomGifAlreadySeenId), Is.EqualTo(0)); }