< Summary

Information
Class: Services.BitrixStockServices.BitrixOzonStockErrorMapper
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/BitrixOzonStockErrorMapper.cs
Line coverage
22%
Covered lines: 8
Uncovered lines: 27
Coverable lines: 35
Total lines: 59
Line coverage: 22.8%
Branch coverage
18%
Covered branches: 7
Total branches: 38
Branch coverage: 18.4%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Map(...)18.42%7013822.85%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/BitrixOzonStockErrorMapper.cs

#LineLine coverage
 1namespace Services.BitrixStockServices;
 2
 3/// <summary>Перевод типовых ошибок Ozon Seller API при обновлении остатков.</summary>
 4public static class BitrixOzonStockErrorMapper
 5{
 6    public static string Map(string? raw)
 7    {
 48        if (string.IsNullOrWhiteSpace(raw))
 09            return "Неизвестная ошибка";
 10
 411        var s = raw.Trim().Replace('_', ' ');
 12
 413        if (s.Contains("updated too frequently", StringComparison.OrdinalIgnoreCase) ||
 414            s.Contains("stock is updated too frequently", StringComparison.OrdinalIgnoreCase))
 215            return "Остаток обновляется слишком часто — подождите 1–2 мин и повторите";
 16
 217        if (s.Contains("product is not created", StringComparison.OrdinalIgnoreCase) ||
 218            s.Contains("not created", StringComparison.OrdinalIgnoreCase))
 219            return "Товар не создан на складе Ozon (проверьте карточку и привязку склада)";
 20
 021        if (s.Contains("not moderated", StringComparison.OrdinalIgnoreCase))
 022            return "Товар не прошёл модерацию";
 23
 024        if (s.Contains("tags validation failed", StringComparison.OrdinalIgnoreCase))
 025            return "Не продаётся (ошибка атрибутов)";
 26
 027        if (s.Contains("not found", StringComparison.OrdinalIgnoreCase))
 028            return "Товар не найден в Ozon";
 29
 030        if (s.Contains("restore limit exceeded", StringComparison.OrdinalIgnoreCase))
 031            return "Превышен лимит разархивации товаров";
 32
 033        if (s.Contains("quota", StringComparison.OrdinalIgnoreCase))
 034            return "Превышен лимит запросов к API";
 35
 036        if (s.Contains("rate limit", StringComparison.OrdinalIgnoreCase))
 037            return "Слишком много запросов (rate limit)";
 38
 039        if (s.Contains("unauthorized", StringComparison.OrdinalIgnoreCase) ||
 040            s.Contains("forbidden", StringComparison.OrdinalIgnoreCase))
 041            return "Ошибка авторизации Ozon API";
 42
 043        if (s.Contains("warehouse", StringComparison.OrdinalIgnoreCase) &&
 044            s.Contains("not found", StringComparison.OrdinalIgnoreCase))
 045            return "Склад Ozon не найден";
 46
 047        if (s.Contains("invalid", StringComparison.OrdinalIgnoreCase))
 048            return "Некорректные данные запроса";
 49
 050        if (s.Contains("not sell", StringComparison.OrdinalIgnoreCase) ||
 051            s.Contains("not active", StringComparison.OrdinalIgnoreCase))
 052            return "Товар не продаётся";
 53
 054        if (s.Contains("limit", StringComparison.OrdinalIgnoreCase))
 055            return "Превышен лимит";
 56
 057        return s;
 58    }
 59}

Methods/Properties

Map(System.String)