< 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
100%
Covered lines: 20
Uncovered lines: 0
Coverable lines: 20
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
Branch coverage: 100%
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%66100%

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    {
 327        var current = secret.LatestActiveVersion;
 328        return new SecretModel
 329        {
 3210            Id = secret.Id,
 3211            Name = secret.Name,
 3212            DisplayName = secret.DisplayName,
 3213            Description = secret.Description,
 3214            TypeName = secret.TypeName,
 3215            StoreName = secret.StoreName,
 3216            Scope = secret.Scope,
 3217            Tags = secret.Tags.ToList(),
 3218            Status = ResolveStatus(secret),
 3219            CurrentVersion = current?.Version,
 3220            CreatedAt = secret.CreatedAt,
 3221            UpdatedAt = secret.UpdatedAt,
 3222            ExpiresAt = current?.ExpiresAt
 3223        };
 24    }
 25
 26    private static SecretStatus ResolveStatus(Secret secret)
 27    {
 3228        if (secret.Status != SecretStatus.Active)
 329            return secret.Status;
 30
 3031        return secret.LatestActiveVersion == null && secret.Versions.Any(x => x.IsExpired()) ? SecretStatus.Expired : se
 32    }
 33}