Files
SIG-CM2.0/tests/SIGCM2.Application.Tests/Domain/Fiscal/FiscalExceptionsTests.cs

100 lines
2.7 KiB
C#

using FluentAssertions;
using SIGCM2.Domain.Exceptions;
using SIGCM2.Domain.Fiscal;
namespace SIGCM2.Application.Tests.Domain.Fiscal;
public class FiscalExceptionsTests
{
// ── T200.30: cada excepción instancia correctamente con mensaje ───────────
[Fact]
public void PorcentajeInmutableException_HasExpectedMessage()
{
var ex = new PorcentajeInmutableException();
ex.Message.Should().Contain("inmutable");
ex.Message.Should().Contain("nueva versión");
ex.Message.Should().Contain("/iva/");
}
[Fact]
public void AlicuotaInmutableException_HasExpectedMessage()
{
var ex = new AlicuotaInmutableException();
ex.Message.Should().Contain("inmutable");
ex.Message.Should().Contain("nueva versión");
ex.Message.Should().Contain("/iibb/");
}
[Fact]
public void PredecesorYaCerradoException_ContainsId()
{
var ex = new PredecesorYaCerradoException(42);
ex.PredecesorId.Should().Be(42);
ex.Message.Should().Contain("42");
}
[Fact]
public void DuplicateCodigoException_ContainsCodigo()
{
var ex = new DuplicateCodigoException("IVA_21");
ex.Codigo.Should().Be("IVA_21");
ex.Message.Should().Contain("IVA_21");
}
[Fact]
public void DuplicateProvinciaException_ContainsProvincia()
{
var ex = new DuplicateProvinciaException(ProvinciaArgentina.Cordoba);
ex.Provincia.Should().Be(ProvinciaArgentina.Cordoba);
ex.Message.Should().Contain("Cordoba");
}
// ── Todas heredan de DomainException ─────────────────────────────────────
[Fact]
public void PorcentajeInmutableException_InheritsFromDomainException()
{
var ex = new PorcentajeInmutableException();
ex.Should().BeAssignableTo<DomainException>();
}
[Fact]
public void AlicuotaInmutableException_InheritsFromDomainException()
{
var ex = new AlicuotaInmutableException();
ex.Should().BeAssignableTo<DomainException>();
}
[Fact]
public void PredecesorYaCerradoException_InheritsFromDomainException()
{
var ex = new PredecesorYaCerradoException(1);
ex.Should().BeAssignableTo<DomainException>();
}
[Fact]
public void DuplicateCodigoException_InheritsFromDomainException()
{
var ex = new DuplicateCodigoException("X");
ex.Should().BeAssignableTo<DomainException>();
}
[Fact]
public void DuplicateProvinciaException_InheritsFromDomainException()
{
var ex = new DuplicateProvinciaException(ProvinciaArgentina.Salta);
ex.Should().BeAssignableTo<DomainException>();
}
}