test(udt-001): backend unit and integration tests (30 tests)
This commit is contained in:
72
tests/SIGCM2.Application.Tests/Domain/UsuarioTests.cs
Normal file
72
tests/SIGCM2.Application.Tests/Domain/UsuarioTests.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using SIGCM2.Domain.Entities;
|
||||
|
||||
namespace SIGCM2.Application.Tests.Domain;
|
||||
|
||||
public class UsuarioTests
|
||||
{
|
||||
// Happy path: constructor sets all properties correctly
|
||||
[Fact]
|
||||
public void Constructor_SetsAllProperties()
|
||||
{
|
||||
var usuario = new Usuario(
|
||||
id: 1,
|
||||
username: "admin",
|
||||
passwordHash: "$2a$12$hash",
|
||||
nombre: "Administrador",
|
||||
apellido: "Sistema",
|
||||
email: null,
|
||||
rol: "admin",
|
||||
permisosJson: "[\"*\"]",
|
||||
activo: true
|
||||
);
|
||||
|
||||
Assert.Equal(1, usuario.Id);
|
||||
Assert.Equal("admin", usuario.Username);
|
||||
Assert.Equal("$2a$12$hash", usuario.PasswordHash);
|
||||
Assert.Equal("Administrador", usuario.Nombre);
|
||||
Assert.Equal("Sistema", usuario.Apellido);
|
||||
Assert.Null(usuario.Email);
|
||||
Assert.Equal("admin", usuario.Rol);
|
||||
Assert.Equal("[\"*\"]", usuario.PermisosJson);
|
||||
Assert.True(usuario.Activo);
|
||||
}
|
||||
|
||||
// Triangulation: inactive user
|
||||
[Fact]
|
||||
public void Constructor_WithActivo_False_SetsActivo_False()
|
||||
{
|
||||
var usuario = new Usuario(
|
||||
id: 2,
|
||||
username: "vendedor",
|
||||
passwordHash: "$2a$12$hash2",
|
||||
nombre: "Juan",
|
||||
apellido: "Pérez",
|
||||
email: "juan@example.com",
|
||||
rol: "vendedor",
|
||||
permisosJson: "[]",
|
||||
activo: false
|
||||
);
|
||||
|
||||
Assert.Equal(2, usuario.Id);
|
||||
Assert.Equal("vendedor", usuario.Username);
|
||||
Assert.Equal("juan@example.com", usuario.Email);
|
||||
Assert.Equal("vendedor", usuario.Rol);
|
||||
Assert.Equal("[]", usuario.PermisosJson);
|
||||
Assert.False(usuario.Activo);
|
||||
}
|
||||
|
||||
// Activo property reflects the actual state
|
||||
[Fact]
|
||||
public void Activo_IsTrue_WhenConstructedActive()
|
||||
{
|
||||
var usuario = new Usuario(1, "admin", "$2a$12$hash", "Admin", "Sys", null, "admin", "[\"*\"]", true);
|
||||
Assert.True(usuario.Activo);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Activo_IsFalse_WhenConstructedInactive()
|
||||
{
|
||||
var usuario = new Usuario(2, "inactive", "$2a$12$hash", "Old", "User", null, "consulta", "[]", false);
|
||||
Assert.False(usuario.Activo);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user