< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Query.Output.PendingRegistrationOutput
Assembly: ArturRios.Heimdall.Query
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Query/Output/PendingRegistrationOutput.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 39
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 7
Fully covered methods: 7
Total methods: 7
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%11100%
get_Name()100%11100%
get_Email()100%11100%
get_CreatedAt()100%11100%
get_ExpiresAt()100%11100%
get_AttemptsLeft()100%11100%
get_Expired()100%11100%

File(s)

/home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Query/Output/PendingRegistrationOutput.cs

#LineLine coverage
 1using ArturRios.Mediator.Query;
 2
 3namespace ArturRios.Heimdall.Query.Output;
 4
 5/// <summary>
 6///     One self-registration awaiting confirmation (UC-49, FR-SR-11): what a scope's owners need to
 7///     recognise it and decide whether to discard it.
 8/// </summary>
 9/// <remarks>
 10///     Deliberately without the password hash, the salt and the token hash. The name and address are
 11///     what the owners would see in the scope's user list once the link is followed, and a taken
 12///     address never produces a pending row, so the listing reveals nothing about existing accounts.
 13/// </remarks>
 14public class PendingRegistrationOutput : QueryOutput
 15{
 16    /// <summary>The registration's public id — what UC-50 discards it by.</summary>
 4217    public Guid Id { get; set; }
 18
 19    /// <summary>The name the registrant gave.</summary>
 6020    public string Name { get; set; } = string.Empty;
 21
 22    /// <summary>The address awaiting confirmation.</summary>
 6123    public string Email { get; set; } = string.Empty;
 24
 25    /// <summary>When the registration was stored.</summary>
 3326    public DateTime CreatedAt { get; set; }
 27
 28    /// <summary>When its link stops working.</summary>
 3329    public DateTime ExpiresAt { get; set; }
 30
 31    /// <summary>Wrong passwords the registrant may still try before the registration is discarded (FR-SR-09); never bel
 3632    public int AttemptsLeft { get; set; }
 33
 34    /// <summary>
 35    ///     Whether the link has already expired. Such a row stays until the scheduled purge removes it,
 36    ///     so it is listed and may be discarded like any other.
 37    /// </summary>
 3538    public bool Expired { get; set; }
 39}