feat(domain): excepciones regla de oro rama/hoja (CAT-002)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user