public async Task PostGifs_Exception() { var channel = new Mock <IMessageChannel>(); const decimal channelId = 123; var historyContainer = new UrlHistoryContainer { ChannelId = channelId, IsTrending = false, GifId = "the gif ID", Url = "a.b/c" }; var request = new Mock <IRequest>(); var exception = new Exception(); channel.Setup(s => s.SendMessageAsync(historyContainer.Url, It.IsAny <bool>(), It.IsAny <Embed>(), It.IsAny <RequestOptions>())).ThrowsAsync(exception); var channelContainers = new List <ChannelContainer> { new ChannelContainer { Channel = channel.Object, HistoryContainer = historyContainer } }; _Log.Setup(s => s.LogError(exception, $"Error posting to channel '{historyContainer.ChannelId}' gif '{historyContainer.Url}'.")); _Log.Setup(s => s.LogInformation($"Posting {channelContainers.Count} gifs.")); _Log.Setup(s => s.LogInformation("Posted 0 gifs.")); var result = await _GifPostingHelper.PostGifs(channelContainers); channel.VerifyAll(); _Log.VerifyAll(); Assert.That(result.ChannelsToDelete, Is.Empty); Assert.That(result.Errors, Contains.Item(historyContainer)); }
public async Task PostGifs_Trending() { var channel = new Mock <IMessageChannel>(); var historyContainer = new UrlHistoryContainer { IsTrending = true, Url = "a.b/c" }; IUserMessage userMessage = null; var message = $"*Trending!* {historyContainer.Url}"; channel.Setup(s => s.SendMessageAsync(message, It.IsAny <bool>(), It.IsAny <Embed>(), It.IsAny <RequestOptions>())).ReturnsAsync(userMessage); var channelContainers = new List <ChannelContainer> { new ChannelContainer { Channel = channel.Object, HistoryContainer = historyContainer } }; _Log.Setup(s => s.LogInformation($"Posting {channelContainers.Count} gifs.")); _Log.Setup(s => s.LogInformation("Posted 1 gifs.")); var result = await _GifPostingHelper.PostGifs(channelContainers); channel.VerifyAll(); _Log.VerifyAll(); Assert.That(result.ChannelsToDelete, Is.Empty); Assert.That(result.Errors, Is.Empty); }
public async Task BuildChannelContainers_Error() { const decimal channelId = 123; var errorHistory = new UrlHistoryContainer { ChannelId = channelId }; var insertedContainers = new List <UrlHistoryContainer> { errorHistory }; _Log.Setup(s => s.LogInformation($"Getting {insertedContainers.Count} channels.")); var channel = new Mock <IMessageChannel>(); var channelIdLong = Convert.ToUInt64(channelId); channel.Setup(s => s.Id).Returns(channelIdLong); var exception = new Exception(); _DiscordWrapper.Setup(s => s.GetChannelAsync(channelId)).ThrowsAsync(exception); _Log.Setup(s => s.LogError(exception, $"Error getting channel '{channelId}'.")); _Log.Setup(s => s.LogInformation("Got 0 channels.")); var result = await _GifPostingHelper.BuildChannelContainers(insertedContainers); _Log.VerifyAll(); _DiscordWrapper.VerifyAll(); Assert.That(result.ChannelContainers.Count, Is.EqualTo(0)); Assert.That(result.Errors.Count, Is.EqualTo(1)); Assert.That(result.ChannelsToDelete.Count, Is.EqualTo(0)); Assert.That(result.Errors, Contains.Item(errorHistory)); }
public async Task BuildChannelContainers_NullChannel() { const decimal channelId = 123; var errorHistory = new UrlHistoryContainer { ChannelId = channelId }; var insertedContainers = new List <UrlHistoryContainer> { errorHistory }; _Log.Setup(s => s.LogInformation($"Getting {insertedContainers.Count} channels.")); IMessageChannel channel = null; var channelIdLong = Convert.ToUInt64(channelId); _DiscordWrapper.Setup(s => s.GetChannelAsync(channelId)).ReturnsAsync(channel); _Log.Setup(s => s.LogInformation("Got 0 channels.")); var result = await _GifPostingHelper.BuildChannelContainers(insertedContainers); _Log.VerifyAll(); _DiscordWrapper.VerifyAll(); Assert.That(result.ChannelContainers.Count, Is.EqualTo(0)); Assert.That(result.Errors.Count, Is.EqualTo(0)); Assert.That(result.ChannelsToDelete.Count, Is.EqualTo(1)); Assert.That(result.ChannelsToDelete, Contains.Item(channelId)); }
public ChannelContainer(IMessageChannel channel, UrlHistoryContainer history) { Channel = channel; HistoryContainer = history; }