public void WhenInvalidApKey_ThenThrowExceptionForbidden() { var request = new StickerSearchRequest(ApiKeys.Invalid); var ex = Assert.ThrowsAsync <GiphyApiClientException>(() => _sut.SearchStickersAsync(request)); Assert.That(ex.HttpStatusCode, Is.EqualTo(ApiStatusCodes.Forbidden)); }
public async Task WhenNoQuery_ThenReturnNoResults() { var request = new StickerSearchRequest(ApiKeys.Valid) { Query = null, Limit = 1 }; var response = await _sut.SearchStickersAsync(request); Assert.That(response.Gifs.Count, Is.EqualTo(0)); }
public async Task WhenQueryIsSuccessful_ThenReturnResults() { var request = new StickerSearchRequest(ApiKeys.Valid) { Query = "cheeseburgers", Limit = 1 }; var response = await _sut.SearchStickersAsync(request); Assert.That(response.Gifs.Count(), Is.EqualTo(1)); }
public Uri Create(StickerSearchRequest request) { return(request.AddUriParams(new Uri(_settings.BaseUrl).SetPath(@"v1/stickers/search"))); }
/// <summary> /// Replicates the functionality and requirements of the classic GIPHY search, /// but returns animated stickers rather than GIFs. /// </summary> /// <param name="request">Request object.</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <returns>The task object representing the asynchronous operation.</returns> public async Task <StickerSearchResponse> SearchStickersAsync(StickerSearchRequest request, CancellationToken cancellationToken = default) { var uri = _uriFactory.Create(request); return(await GetAsync <StickerSearchResponse>(uri, cancellationToken)); }