< Summary - Syki

Information
Class: Syki.Back.Configs.ServicesConfigs
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Configs/ServicesConfigs.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 37
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
AddServicesConfigs(...)100%44100%
AddServices(...)100%44100%

File(s)

/home/runner/work/syki/syki/Back/Configs/ServicesConfigs.cs

#LineLine coverage
 1using Syki.Back.Storage;
 2using Microsoft.Extensions.DependencyInjection.Extensions;
 3
 4namespace Syki.Back.Configs;
 5
 6public static class ServicesConfigs
 7{
 8    public static void AddServicesConfigs(this WebApplicationBuilder builder)
 9    {
 410        builder.Services.AddServices(typeof(IAdmService));
 411        builder.Services.AddServices(typeof(ICrossService));
 412        builder.Services.AddServices(typeof(IStudentService));
 413        builder.Services.AddServices(typeof(ITeacherService));
 414        builder.Services.AddServices(typeof(IAcademicService));
 15
 416        builder.Services.AddScoped<IStorageService, AzureBlobStorageService>();
 17
 418        if (Env.IsDevelopment() || Env.IsTesting())
 19        {
 420            builder.Services.Replace(ServiceDescriptor.Singleton<IStorageService, FakeStorageService>());
 21        }
 422    }
 23
 24    private static void AddServices(this IServiceCollection services, Type marker)
 25    {
 2026        var types = AppDomain.CurrentDomain.GetAssemblies()
 373427            .Where(s => s.FullName.StartsWith("Back"))
 2028            .SelectMany(s => s.GetTypes())
 2728029            .Where(p => marker.IsAssignableFrom(p) && !p.IsInterface)
 2030            .ToList();
 31
 88032        foreach (var type in types)
 33        {
 42034            services.AddScoped(type);
 35        }
 2036    }
 37}