< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Controllers.Base.TransactionWarehouseHelper
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Base/TransactionWarehouseHelper.cs
Line coverage
90%
Covered lines: 19
Uncovered lines: 2
Coverable lines: 21
Total lines: 55
Line coverage: 90.4%
Branch coverage
58%
Covered branches: 20
Total branches: 34
Branch coverage: 58.8%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetZasylValue(...)75%88100%
GetEffectiveWarehouseName(...)75%88100%
GetZasylWarehouseName(...)100%11100%
GetZasylWarehouseLabel(...)50%9880%
GetEffectiveWarehouseLabel(...)40%101085.71%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Base/TransactionWarehouseHelper.cs

#LineLine coverage
 1using OzonDomains.Models;
 2
 3namespace OzonOrdersWeb.Areas.Studio2.Controllers.Base;
 4
 5public static class TransactionWarehouseHelper
 6{
 7    private const string ZasylKey = "Засыл";
 8
 9    public static string? GetZasylValue(Order? order)
 10    {
 811        return order?.OrderExtensions?
 412            .FirstOrDefault(e => string.Equals(e.Key, ZasylKey, StringComparison.OrdinalIgnoreCase))
 813            ?.Value?
 814            .Trim();
 15    }
 16
 17    public static string? GetEffectiveWarehouseName(Order? order)
 18    {
 619        var zasyl = GetZasylValue(order);
 620        if (!string.IsNullOrWhiteSpace(zasyl))
 321            return zasyl;
 22
 323        return order?.ShipmentWarehouse?.Name?.Trim();
 24    }
 25
 26    public static string? GetZasylWarehouseName(Order? order)
 27    {
 128        return GetZasylValue(order);
 29    }
 30
 31    public static string GetZasylWarehouseLabel(Order order)
 32    {
 133        var zasyl = GetZasylWarehouseName(order);
 134        if (!string.IsNullOrWhiteSpace(zasyl))
 035            return $"{zasyl} (засыл)";
 36
 137        var actualWarehouse = order.ShipmentWarehouse?.Name?.Trim();
 138        return $"не указан засыл (склад: {actualWarehouse ?? "—"})";
 39    }
 40
 41    public static string GetEffectiveWarehouseLabel(Order order)
 42    {
 143        var actualWarehouse = order.ShipmentWarehouse?.Name?.Trim();
 144        var effectiveWarehouse = GetEffectiveWarehouseName(order);
 145        var zasyl = GetZasylValue(order);
 46
 147        if (!string.IsNullOrWhiteSpace(zasyl) &&
 148            !string.Equals(zasyl, actualWarehouse, StringComparison.OrdinalIgnoreCase))
 49        {
 150            return $"{effectiveWarehouse} (склад: {actualWarehouse}, засыл: {zasyl})";
 51        }
 52
 053        return effectiveWarehouse ?? "—";
 54    }
 55}