< Summary - Syki

Information
Class: Syki.Back.Features.Cross.LoadFeatureFlags.LoadFeatureFlagsHostedService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Cross/LoadFeatureFlags/LoadFeatureFlagsHostedService.cs
Tag: 4_16869239191
Line coverage
33%
Covered lines: 4
Uncovered lines: 8
Coverable lines: 12
Total lines: 27
Line coverage: 33.3%
Branch coverage
25%
Covered branches: 1
Total branches: 4
Branch coverage: 25%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
StartAsync()25%12420%
StopAsync(...)100%11100%

File(s)

/home/runner/work/syki/syki/Back/Features/Cross/LoadFeatureFlags/LoadFeatureFlagsHostedService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Cross.LoadFeatureFlags;
 2
 23public class LoadFeatureFlagsHostedService(IServiceScopeFactory serviceScopeFactory, FeaturesSettings settings) : IHoste
 4{
 5    public async Task StartAsync(CancellationToken cancellationToken)
 6    {
 47        if (Env.IsTesting()) return;
 8
 09        await Task.Delay(10_000, cancellationToken);
 10
 011        using IServiceScope scope = serviceScopeFactory.CreateScope();
 012        var ctx = scope.ServiceProvider.GetRequiredService<SykiDbContext>();
 13
 014        var features = await ctx.FeatureFlags.AsNoTracking()
 015            .Where(f => f.Id == Guid.Empty)
 016            .FirstOrDefaultAsync(cancellationToken);
 17
 018        if (features == null) return;
 19
 020        settings.CrossLogin = features.CrossLogin;
 221    }
 22
 23    public Task StopAsync(CancellationToken cancellationToken)
 24    {
 225        return Task.CompletedTask;
 26    }
 27}