< Summary

Information
Class: Domain.Entities.Usuario
Assembly: Despesas.Domain
File(s): /src/Despesas.Domain/Entities/Usuario.cs
Line coverage
97%
Covered lines: 85
Uncovered lines: 2
Coverable lines: 87
Total lines: 104
Line coverage: 97.7%
Branch coverage
50%
Covered branches: 4
Total branches: 8
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Nome()100%11100%
get_SobreNome()100%11100%
get_Telefone()100%11100%
get_Email()100%11100%
get_StatusUsuario()100%11100%
get_PerfilUsuario()100%11100%
get_Profile()100%11100%
get_Categorias()100%11100%
CreateUsuario(...)100%11100%
IsValidUsuario(...)50%10866.66%

File(s)

/src/Despesas.Domain/Entities/Usuario.cs

#LineLine coverage
 1using Domain.Core.Aggreggates;
 2using Domain.Core.ValueObject;
 3
 4namespace Domain.Entities;
 5public class Usuario : BaseDomain
 6{
 26047    public string Nome { get; set; } = String.Empty;
 25758    public string SobreNome { get; set; } = String.Empty;
 25899    public string Telefone { get; set; } = String.Empty;
 261610    public string Email { get; set; } = String.Empty;
 107711    public virtual StatusUsuario StatusUsuario { get; set; }
 221512    public virtual PerfilUsuario? PerfilUsuario { get; set; }
 513    public byte[]? Profile { get; set; }
 14
 125615    public virtual IList<Categoria> Categorias { get; set; } = new List<Categoria>();
 16
 17    public Usuario CreateUsuario(Usuario newUsuario)
 1418    {
 1419        IsValidUsuario(newUsuario.Nome, newUsuario.Email, newUsuario.Telefone);
 1420        newUsuario.StatusUsuario = StatusUsuario.Ativo;
 1421        newUsuario.PerfilUsuario = new PerfilUsuario(PerfilUsuario.Perfil.User);
 22
 1423        List<Categoria> defaultCategorias = new List<Categoria>();
 1424        defaultCategorias.Add(new Categoria
 1425        {
 1426            Descricao = "Alimentação",
 1427            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1428        });
 1429        defaultCategorias.Add(new Categoria
 1430        {
 1431            Descricao = "Casa",
 1432            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1433        });
 1434        defaultCategorias.Add(new Categoria
 1435        {
 1436            Descricao = "Serviços",
 1437            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1438        });
 1439        defaultCategorias.Add(new Categoria
 1440        {
 1441            Descricao = "Saúde",
 1442            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1443        });
 1444        defaultCategorias.Add(new Categoria
 1445        {
 1446            Descricao = "Imposto",
 1447            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1448        });
 1449        defaultCategorias.Add(new Categoria
 1450        {
 1451            Descricao = "Transporte",
 1452            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1453        });
 1454        defaultCategorias.Add(new Categoria
 1455        {
 1456            Descricao = "Lazer",
 1457            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1458        });
 1459        defaultCategorias.Add(new Categoria
 1460        {
 1461            Descricao = "Outros",
 1462            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Despesa)
 1463        });
 64
 1465        defaultCategorias.Add(new Categoria
 1466        {
 1467            Descricao = "Salário",
 1468            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita)
 1469        });
 1470        defaultCategorias.Add(new Categoria
 1471        {
 1472            Descricao = "Prêmio",
 1473            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita)
 1474        });
 1475        defaultCategorias.Add(new Categoria
 1476        {
 1477            Descricao = "Investimento",
 1478            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita)
 1479        });
 1480        defaultCategorias.Add(new Categoria
 1481        {
 1482            Descricao = "Benefício",
 1483            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita)
 1484        });
 1485        defaultCategorias.Add(new Categoria
 1486        {
 1487            Descricao = "Outros",
 1488            TipoCategoria = new TipoCategoria(TipoCategoria.CategoriaType.Receita)
 1489        });
 90
 1491        newUsuario.Categorias = defaultCategorias;
 1492        return newUsuario;
 1493    }
 94
 95    private static void IsValidUsuario(string nome, string email, string telefone)
 1496    {
 1497        if (String.IsNullOrEmpty(nome) || String.IsNullOrWhiteSpace(nome))
 098            throw new ArgumentException("Nome não pode ser em branco ou nulo.");
 99
 14100        if (String.IsNullOrEmpty(email) || String.IsNullOrWhiteSpace(email))
 0101            throw new ArgumentException("Email não pode ser em branco ou nulo.");
 102
 14103    }
 104}