public async Task GetCategoriesTest(KnownChains apiName) { var request = new OffsetLimitModel(); var result = await Gateway[apiName].GetCategories(request, CancellationToken.None); Assert.IsTrue(result.IsSuccess, result.Error?.Message); }
private async Task <ErrorBase> GetTopTags(CancellationToken ct) { var request = new OffsetLimitModel() { Offset = OffsetUrl, Limit = ItemsLimit }; var response = await Api.GetCategories(request, ct); if (response.IsSuccess) { var tags = response.Result.Results; if (tags.Count > 0) { lock (Items) Items.AddRange(Items.Count == 0 ? tags : tags.Skip(1)); OffsetUrl = tags.Last().Name; } if (tags.Count < Math.Min(ServerMaxCount, ItemsLimit)) { IsLastReaded = true; } NotifySourceChanged(nameof(TryGetTopTags), true); } return(response.Error); }
private void GetCategoriesTest(StringBuilder sb, int num) { sb.Append($"{num}) GetCategoriesTest : "); StepFinished?.Invoke(sb.ToString()); var limit = 3; var request = new OffsetLimitModel { Limit = limit }; var response = _api.GetCategories(request, CancellationToken.None).Result; if (IsError1(sb, limit, response, response.Result.Results.Count)) { return; } request.Offset = response.Result.Results.Last().Name; response = _api.GetCategories(request, CancellationToken.None).Result; if (IsError2(sb, limit, response, request.Offset)) { return; } sb.AppendLine("pass."); }
public async Task Categories(KnownChains apiName) { // Arrange var request = new OffsetLimitModel(); // Act var response = await Api[apiName].GetCategories(request, CancellationToken.None); // Assert AssertResult(response); Assert.That(response.Result.Results.Any()); Assert.That(response.Result.Results, Is.Not.Empty); Assert.That(response.Result.Results.First().Name, Is.Not.Empty); }
public async Task Categories_Offset_Limit(KnownChains apiName) { // Arrange const int limit = 5; var request = new OffsetLimitModel() { Offset = "food", Limit = limit }; // Act var response = await Api[apiName].GetCategories(request, CancellationToken.None); // Assert AssertResult(response); Assert.That(response.Result.Results.Any()); Assert.That(response.Result.Results.Count, Is.EqualTo(limit)); Assert.That(response.Result.Results, Is.Not.Empty); Assert.That(response.Result.Results.First().Name, Is.EqualTo("food")); }
public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(request); if (results.Any()) { return(new OperationResult <ListResponse <SearchResult> >(new ValidationError(string.Join(Environment.NewLine, results.Select(i => i.ErrorMessage))))); } var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, request.Offset, request.Limit); var endpoint = "categories/top"; var result = await Gateway.Get <ListResponse <SearchResult> >(GatewayVersion.V1, endpoint, parameters, token); if (result.IsSuccess) { foreach (var category in result.Result.Results) { category.Name = Transliteration.ToRus(category.Name); } } return(result); }
public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token) { if (!EnableRead) { return(null); } var results = Validate(request); if (results != null) { return(new OperationResult <ListResponse <SearchResult> >(results)); } var parameters = new Dictionary <string, object>(); AddOffsetLimitParameters(parameters, request.Offset, request.Limit); var endpoint = $"{BaseUrl}/{GatewayVersion.V1}/categories/top"; var result = await HttpClient.Get <ListResponse <SearchResult> >(endpoint, parameters, token); if (result.IsSuccess) { foreach (var category in result.Result.Results) { category.Name = Transliteration.ToRus(category.Name); } } return(result); }