public async Task GetGalleryTopicItemAsync_WithTopicIdNull_ThrowsNewArgumentNullException() { var client = new ImgurClient("123", "1234"); var endpoint = new TopicEndpoint(client); var exception = await Record.ExceptionAsync( async () => await endpoint.GetGalleryTopicItemAsync("XyZ", null).ConfigureAwait(false)) .ConfigureAwait(false); Assert.NotNull(exception); Assert.IsType<ArgumentNullException>(exception); }
public async Task GetGalleryTopicItemAsync_NotNull() { var mockUrl = "https://api.imgur.com/3/topics/Current_Events/xyZ"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockTopicEndpointResponses.GetGalleryTopicItem) }; var client = new ImgurClient("123", "1234"); var endpoint = new TopicEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var item = await endpoint.GetGalleryTopicItemAsync("xyZ", "Current Events").ConfigureAwait(false); Assert.NotNull(item); }
public async Task GetDefaultTopicsAsync_True() { var mockUrl = "https://api.imgur.com/3/topics/defaults"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockTopicEndpointResponses.GetDefaultTopics) }; var client = new ImgurClient("123", "1234"); var endpoint = new TopicEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var topics = await endpoint.GetDefaultTopicsAsync().ConfigureAwait(false); var topic = topics.FirstOrDefault(); Assert.NotNull(topic); Assert.NotNull(topic.TopPost); Assert.NotNull(topic.HeroImage); }
public async Task GetGalleryTopicItemsAsync_True() { var mockUrl = "https://api.imgur.com/3/topics/Current_Events/top/day/3"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockTopicEndpointResponses.GetGalleryTopicItems) }; var client = new ImgurClient("123", "1234"); var endpoint = new TopicEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var items = await endpoint.GetGalleryTopicItemsAsync("Current Events", CustomGallerySortOrder.Top, TimeWindow.Day, 3) .ConfigureAwait(false); Assert.True(items.Any()); }