< Summary

Information
Class: Elsa.Secrets.Services.SecretModelMapper
Assembly: Elsa.Secrets
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Services/SecretModelMapper.cs
Line coverage
95%
Covered lines: 19
Uncovered lines: 1
Coverable lines: 20
Total lines: 33
Line coverage: 95%
Branch coverage
90%
Covered branches: 9
Total branches: 10
Branch coverage: 90%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToModel(...)100%44100%
ResolveStatus(...)83.33%7666.66%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Services/SecretModelMapper.cs

#LineLine coverage
 1namespace Elsa.Secrets.Services;
 2
 3public static class SecretModelMapper
 4{
 5    public static SecretModel ToModel(this Secret secret)
 6    {
 27        var current = secret.LatestActiveVersion;
 28        return new SecretModel
 29        {
 210            Id = secret.Id,
 211            Name = secret.Name,
 212            DisplayName = secret.DisplayName,
 213            Description = secret.Description,
 214            TypeName = secret.TypeName,
 215            StoreName = secret.StoreName,
 216            Scope = secret.Scope,
 217            Tags = secret.Tags.ToList(),
 218            Status = ResolveStatus(secret),
 219            CurrentVersion = current?.Version,
 220            CreatedAt = secret.CreatedAt,
 221            UpdatedAt = secret.UpdatedAt,
 222            ExpiresAt = current?.ExpiresAt
 223        };
 24    }
 25
 26    private static SecretStatus ResolveStatus(Secret secret)
 27    {
 228        if (secret.Status != SecretStatus.Active)
 029            return secret.Status;
 30
 331        return secret.LatestActiveVersion == null && secret.Versions.Any(x => x.IsExpired()) ? SecretStatus.Expired : se
 32    }
 33}