< Summary

Information
Class: Services.BitrixStockServices.BitrixStockFilterNormalizer
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/BitrixStockFilterNormalizer.cs
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 36
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
.cctor()100%11100%
DefaultStoreTitlesFor(...)100%22100%
Normalize(...)100%66100%

File(s)

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

#LineLine coverage
 1using OzonDomains.Models;
 2using OzonOrdersWeb.Areas.Studio2.ViewModels.Bitrix;
 3
 4namespace Services.BitrixStockServices;
 5
 6/// <summary>Те же правила, что в BitrixStockController.Index (пресеты OnlyInactive и склады).</summary>
 7public static class BitrixStockFilterNormalizer
 8{
 19    public static readonly string[] DefaultStoreTitles = { "B1", "B2", "M1", "M2", "M3" };
 10
 11    public static IReadOnlyList<string> DefaultStoreTitlesFor(IReadOnlyCollection<string>? activeStores) =>
 3612        DefaultStoreTitles.Where(s => (activeStores ?? DefaultStoreTitles).Contains(s)).ToList();
 13
 14    public static RemainingStockFilter Normalize(
 15        RemainingStockFilter filter,
 16        string actionType,
 17        int ozonClientId,
 18        IReadOnlyCollection<string>? activeStores = null)
 19    {
 320        filter.SelectedClientId = ozonClientId;
 321        filter.LoadOzonWarehouses = true;
 322        filter.DisablePagination = true;
 323        filter.Page = 1;
 324        if (filter.PageSize <= 0)
 25        {
 126            filter.PageSize = 10_000;
 27        }
 28
 329        if (filter.SelectedStoreTitles == null || filter.SelectedStoreTitles.Count == 0)
 30        {
 231            filter.SelectedStoreTitles = DefaultStoreTitlesFor(activeStores).ToList();
 32        }
 33
 334        return filter;
 35    }
 36}