< Summary

Information
Class: Services.ApiServices.ApiSupplierIntegration.ApiSupplierConnectorRegistry
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ApiServices/ApiSupplierIntegration/ApiSupplierConnectorRegistry.cs
Line coverage
83%
Covered lines: 5
Uncovered lines: 1
Coverable lines: 6
Total lines: 20
Line coverage: 83.3%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
TryGet(...)50%22100%
GetAll()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ApiServices/ApiSupplierIntegration/ApiSupplierConnectorRegistry.cs

#LineLine coverage
 1namespace Services.ApiServices.ApiSupplierIntegration;
 2
 3/// <summary>Единая точка поиска зарегистрированного API-поставщика по ProviderKey.</summary>
 4public sealed class ApiSupplierConnectorRegistry
 5{
 6    private readonly IReadOnlyDictionary<string, IApiSupplierConnector> _connectors;
 7
 358    public ApiSupplierConnectorRegistry(IEnumerable<IApiSupplierConnector> connectors)
 9    {
 9410        _connectors = connectors.ToDictionary(x => x.ProviderKey, StringComparer.OrdinalIgnoreCase);
 3511    }
 12
 13    public bool TryGet(string? providerKey, out IApiSupplierConnector? connector)
 14    {
 1015        connector = null;
 1016        return !string.IsNullOrWhiteSpace(providerKey) && _connectors.TryGetValue(providerKey, out connector);
 17    }
 18
 019    public IReadOnlyCollection<IApiSupplierConnector> GetAll() => _connectors.Values.ToArray();
 20}