< Summary

Information
Class: Domain.Core.ValueObject.PerfilUsuario
Assembly: Despesas.Domain
File(s): /src/Despesas.Domain/Core/ValueObject/PerfilUsuario.cs
Line coverage
89%
Covered lines: 17
Uncovered lines: 2
Coverable lines: 19
Total lines: 35
Line coverage: 89.4%
Branch coverage
60%
Covered branches: 6
Total branches: 10
Branch coverage: 60%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
op_Implicit(...)100%11100%
op_Implicit(...)100%210%
op_Equality(...)50%22100%
op_Inequality(...)50%22100%
get_Id()100%11100%
get_Name()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
GetPerfilUsuarioName(...)66.66%6685.71%

File(s)

/src/Despesas.Domain/Core/ValueObject/PerfilUsuario.cs

#LineLine coverage
 1namespace Domain.Core.ValueObject;
 2public record PerfilUsuario
 3{
 34    public static implicit operator Perfil(PerfilUsuario pu) => (Perfil)pu.Id;
 05    public static implicit operator PerfilUsuario(int perfilType) => new PerfilUsuario((Perfil)perfilType);
 2556    public static bool operator ==(PerfilUsuario perfilUsuario, Perfil perfilType) => perfilUsuario?.Id == (int)perfilTy
 47    public static bool operator !=(PerfilUsuario perfilUsuario, Perfil perfilType) => !(perfilUsuario?.Id == (int)perfil
 8
 9    public enum Perfil : int
 10    {
 11        Admin = 1,
 12        User = 2
 13    }
 14
 192415    public int Id { get; set; }
 218116    public string Name { get; set; } = string.Empty;
 17
 5118    public PerfilUsuario() { }
 19
 108220    public PerfilUsuario(Perfil itipoPerfil)
 108221    {
 108222        Id = (int)itipoPerfil;
 108223        Name = GetPerfilUsuarioName(itipoPerfil);
 108224    }
 25
 26    private static string GetPerfilUsuarioName(Perfil perfilUsuario = Perfil.User)
 108227    {
 108228        if (Perfil.Admin == perfilUsuario)
 55429            return "Administrador";
 52830        else if (Perfil.User == perfilUsuario || perfilUsuario == 0)
 52831            return "Usuario";
 32
 033        throw new ArgumentException("Perfil de usuário inexistente!");
 108234    }
 35}