< Summary

Information
Class: OzonOrdersWeb.TransactionServices.SupplierOrderLookupRequest
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Services/Transactions/SupplierOrderLookup.cs
Line coverage
100%
Covered lines: 1
Uncovered lines: 0
Coverable lines: 1
Total lines: 33
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_ProviderKey()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Services/Transactions/SupplierOrderLookup.cs

#LineLine coverage
 1namespace OzonOrdersWeb.TransactionServices;
 2
 3public enum SupplierOrderLookupStatus
 4{
 5    /// <summary>Заказ с меткой Studio2 найден у поставщика.</summary>
 6    Found,
 7
 8    /// <summary>Поставщик ответил, и заказа с меткой в нём нет — повтор безопасен.</summary>
 9    NotFound,
 10
 11    /// <summary>Сверка невозможна (нет read-API, ошибка, метка не читается) — нужна ручная проверка.</summary>
 12    Unavailable
 13}
 14
 15/// <summary>Что искать у поставщика: заказ Studio2 и момент, когда была начата отправка.</summary>
 2216public sealed record SupplierOrderLookupRequest(string ProviderKey, int StudioOrderId, DateTime IntentCreatedUtc);
 17
 18public sealed record SupplierOrderLookupResult(SupplierOrderLookupStatus Status, string? ExternalOrderNumber = null, str
 19{
 20    public static SupplierOrderLookupResult Unavailable(string details) => new(SupplierOrderLookupStatus.Unavailable, nu
 21}
 22
 23/// <summary>
 24/// Сверка с поставщиком перед повтором оформления: ищет уже созданный заказ по метке Studio2
 25/// (<see cref="Services.SupplierStatusServices.StudioOrderCommentLink"/>). Только чтение — реализации не создают,
 26/// не меняют и не отменяют заказы. Провайдеры без реализации считаются «сверка недоступна».
 27/// </summary>
 28public interface ISupplierOrderLookup
 29{
 30    IReadOnlyCollection<string> ProviderKeys { get; }
 31
 32    Task<SupplierOrderLookupResult> FindAsync(SupplierOrderLookupRequest request, CancellationToken ct);
 33}

Methods/Properties

get_ProviderKey()