< Summary

Information
Class: Services.BitrixStockServices.BitrixStockApplyCalculator
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/BitrixStockApplyCalculator.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 27
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetTargetStock(...)100%88100%

File(s)

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

#LineLine coverage
 1namespace Services.BitrixStockServices;
 2
 3/// <summary>
 4/// Чистые вычисления для этапа 2 (накат остатков на Ozon).
 5/// Вынесены сюда чтобы быть доступными из тестов без инфраструктуры.
 6/// </summary>
 7internal static class BitrixStockApplyCalculator
 8{
 9    /// <summary>
 10    /// Целевой остаток для строки отчёта.
 11    /// Учитывает принудительное обнуление, Clear-action и партийный делитель BatchMultiplier.
 12    /// </summary>
 13    internal static int GetTargetStock(
 14        bool priorityForceClear,
 15        string action,
 16        int oneCQty,
 17        int batchMultiplier)
 18    {
 2119        if (priorityForceClear || action == BitrixStockSyncReportActions.Clear)
 420            return 0;
 21
 1722        if (batchMultiplier > 1)
 1223            return oneCQty > 0 ? oneCQty / batchMultiplier : 0;
 24
 525        return oneCQty;
 26    }
 27}