Files
SIG-CM2.0/tests/SIGCM2.Application.Tests/Domain/Rubros/RubroReglaDeOroExceptionsTests.cs

62 lines
2.1 KiB
C#
Raw Normal View History

using FluentAssertions;
using SIGCM2.Domain.Exceptions;
namespace SIGCM2.Application.Tests.Domain.Rubros;
public class RubroReglaDeOroExceptionsTests
{
// ── RubroPadreEsHojaConAvisosException ──────────────────────────────────
[Fact]
public void RubroPadreEsHojaConAvisosException_Constructor_SetsMessage()
{
var ex = new RubroPadreEsHojaConAvisosException(parentId: 42, cantidadAvisos: 3);
ex.Message.Should().Be("El rubro padre contiene 3 avisos. Muévalos antes de crear sub-rubros.");
}
[Fact]
public void RubroPadreEsHojaConAvisosException_Constructor_SetsParentId_Y_CantidadAvisos()
{
var ex = new RubroPadreEsHojaConAvisosException(parentId: 42, cantidadAvisos: 3);
ex.ParentId.Should().Be(42);
ex.CantidadAvisos.Should().Be(3);
}
[Fact]
public void RubroPadreEsHojaConAvisosException_IsA_DomainException()
{
var ex = new RubroPadreEsHojaConAvisosException(parentId: 1, cantidadAvisos: 1);
ex.Should().BeAssignableTo<DomainException>();
}
// ── RubroEsRamaConHijosActivosException ─────────────────────────────────
[Fact]
public void RubroEsRamaConHijosActivosException_Constructor_SetsMessage()
{
var ex = new RubroEsRamaConHijosActivosException(rubroId: 7, cantidadHijos: 2);
ex.Message.Should().Be("El destino tiene sub-rubros. No puede contener avisos directos.");
}
[Fact]
public void RubroEsRamaConHijosActivosException_Constructor_SetsRubroId_Y_CantidadHijos()
{
var ex = new RubroEsRamaConHijosActivosException(rubroId: 7, cantidadHijos: 2);
ex.RubroId.Should().Be(7);
ex.CantidadHijos.Should().Be(2);
}
[Fact]
public void RubroEsRamaConHijosActivosException_IsA_DomainException()
{
var ex = new RubroEsRamaConHijosActivosException(rubroId: 1, cantidadHijos: 1);
ex.Should().BeAssignableTo<DomainException>();
}
}