< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Helpers.ApiProviderBrand
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Helpers/ApiProviderBrand.cs
Line coverage
38%
Covered lines: 24
Uncovered lines: 38
Coverable lines: 62
Total lines: 76
Line coverage: 38.7%
Branch coverage
14%
Covered branches: 30
Total branches: 209
Branch coverage: 14.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Name(...)4.76%41688416.66%
LogoUrl(...)6.75%8617447.61%
DirectionTag(...)40%2984550%
TextMark(...)50%6680%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Helpers/ApiProviderBrand.cs

#LineLine coverage
 1using OzonDomains.Models;
 2
 3namespace OzonOrdersWeb.Areas.Studio2.Helpers;
 4
 5/// <summary>Бренд API-поставщика для бейджей в справочнике поставщиков: имя, логотип и метка направления.</summary>
 6public static class ApiProviderBrand
 7{
 18    public static string Name(string providerKey) => providerKey switch
 19    {
 110        ApiSupplierSettings.ArmtekProviderKey => "Армтек",
 011        ApiSupplierSettings.ArmtekByProviderKey => "Армтек BY",
 012        ApiSupplierSettings.ShateMProviderKey => "Шате-М",
 013        ApiSupplierSettings.AvdProviderKey => "АВД",
 014        ApiSupplierSettings.BergProviderKey => "Берг",
 015        ApiSupplierSettings.MotexProviderKey => "МоТехС",
 016        ApiSupplierSettings.MlAutoProviderKey => "ML-Auto BY",
 017        ApiSupplierSettings.MlAutoRuProviderKey => "ML-Auto RU",
 018        ApiSupplierSettings.ForumAutoProviderKey => "Форум-Авто Союз (Ходынка)",
 019        ApiSupplierSettings.ForumAutoInterpartsProviderKey => "Форум-Авто Интерпартс (Ходынка)",
 020        ApiSupplierSettings.ForumAutoPiterProviderKey => "Форум-Авто Интерпартс (Питер)",
 021        ApiSupplierSettings.ForumAutoRostovProviderKey => "Форум-Авто Интерпартс (Ростов)",
 022        ApiSupplierSettings.ForumAutoIstraProviderKey => "Форум-Авто Интерпартс (Истра)",
 023        ApiSupplierSettings.FavoritPartsProviderKey => "Фаворит Союз",
 024        ApiSupplierSettings.FavoritPartsIstraProviderKey => "Фаворит Истра",
 025        ApiSupplierSettings.FavoritPartsRostovProviderKey => "Фаворит Ростов",
 026        ApiSupplierSettings.MoskvorechieIstraProviderKey => "Москворечье (Истра)",
 027        ApiSupplierSettings.ProfitLigaProviderKey => "Профит-Лига",
 028        ApiSupplierSettings.MikadoMskHod20ProviderKey => "Микадо МскХод20",
 029        ApiSupplierSettings.ZZapMoscowProviderKey => "ZZap Москва",
 030        _ => providerKey
 131    };
 32
 33    /// <summary>Путь к логотипу или null, если картинки нет — тогда рисуется текстовая метка <see cref="TextMark"/>.</s
 134    public static string? LogoUrl(string providerKey) => providerKey switch
 135    {
 136        ApiSupplierSettings.ArmtekProviderKey or ApiSupplierSettings.ArmtekByProviderKey => "/images/armtek-logo.svg",
 037        ApiSupplierSettings.ShateMProviderKey => "/images/shate-m-logo.svg",
 038        ApiSupplierSettings.AvdProviderKey => "/images/avd-logo.svg",
 039        ApiSupplierSettings.BergProviderKey => "/images/berg-logo-2026.png",
 040        ApiSupplierSettings.MotexProviderKey => "/images/motex-logo.png",
 141        ApiSupplierSettings.ForumAutoProviderKey
 142            or ApiSupplierSettings.ForumAutoInterpartsProviderKey
 143            or ApiSupplierSettings.ForumAutoPiterProviderKey
 144            or ApiSupplierSettings.ForumAutoRostovProviderKey
 045            or ApiSupplierSettings.ForumAutoIstraProviderKey => "/images/forum-auto-logo.svg",
 146        ApiSupplierSettings.FavoritPartsProviderKey
 147            or ApiSupplierSettings.FavoritPartsIstraProviderKey
 048            or ApiSupplierSettings.FavoritPartsRostovProviderKey => "/images/favorit-parts-logo.png",
 049        ApiSupplierSettings.MoskvorechieIstraProviderKey => "/images/moskvorechie-logo.gif",
 050        ApiSupplierSettings.ProfitLigaProviderKey => "/images/profit-liga-logo.svg",
 051        ApiSupplierSettings.MikadoMskHod20ProviderKey => "https://mikado-parts.ru/img/MikadoLogo.svg",
 052        ApiSupplierSettings.ZZapMoscowProviderKey => "/images/zzap-logo.svg",
 053        _ => null
 154    };
 55
 56    /// <summary>Короткая метка направления: отличает филиалы одного бренда с общим логотипом.</summary>
 157    public static string? DirectionTag(string providerKey) => providerKey switch
 158    {
 059        ApiSupplierSettings.ArmtekByProviderKey or ApiSupplierSettings.MlAutoProviderKey => "BY",
 060        ApiSupplierSettings.MlAutoRuProviderKey => "RU",
 061        ApiSupplierSettings.ForumAutoInterpartsProviderKey => "ИП",
 062        ApiSupplierSettings.ForumAutoPiterProviderKey => "СПБ",
 063        ApiSupplierSettings.ForumAutoRostovProviderKey or ApiSupplierSettings.FavoritPartsRostovProviderKey => "РНД",
 164        ApiSupplierSettings.ForumAutoIstraProviderKey
 165            or ApiSupplierSettings.FavoritPartsIstraProviderKey
 066            or ApiSupplierSettings.MoskvorechieIstraProviderKey => "ИСТ",
 167        _ => null
 168    };
 69
 70    /// <summary>Текстовая замена логотипа для провайдеров без картинки.</summary>
 171    public static string TextMark(string providerKey) => providerKey switch
 172    {
 073        ApiSupplierSettings.MlAutoProviderKey or ApiSupplierSettings.MlAutoRuProviderKey => "ML",
 174        _ => providerKey.Length <= 3 ? providerKey.ToUpperInvariant() : providerKey[..3].ToUpperInvariant()
 175    };
 76}