< Summary

Information
Class: OzonOrdersWeb.WebServices.Orders.Grid.OrdersGridColumnAccess
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Orders/Grid/OrdersGridColumnAccess.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 27
Line coverage: 100%
Branch coverage
83%
Covered branches: 5
Total branches: 6
Branch coverage: 83.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Compute(...)83.33%66100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Orders/Grid/OrdersGridColumnAccess.cs

#LineLine coverage
 1using OzonOrdersWeb.Areas.Admin.OrderList;
 2using OzonOrdersWeb.Areas.Studio2.ViewHelpers;
 3using OzonRepositories.Context.Identity;
 4
 5namespace OzonOrdersWeb.WebServices.Orders.Grid;
 6
 7/// <summary>
 8/// Серверный расчёт видимых колонок списка заказов: каталог колонок × <see cref="OrderListColumnGate"/>.
 9/// Возвращает имена полей каталога (FieldName), которые разрешены пользователю.
 10/// </summary>
 11public static class OrdersGridColumnAccess
 12{
 13    public static HashSet<string> Compute(CustomIdentityUser? user, IReadOnlyDictionary<string, bool>? readAccessByField
 14    {
 315        var allowed = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
 18616        foreach (var column in OrderListColumnCatalog.All)
 17        {
 9018            var legacyKey = column.LegacyAccessKey ?? column.DisplayName;
 9019            if (OrderListColumnGate.CanShowOrderColumn(user, readAccessByFieldName, column.FieldName, legacyKey))
 20            {
 6321                allowed.Add(column.FieldName);
 22            }
 23        }
 24
 325        return allowed;
 26    }
 27}