100 lines
2.7 KiB
C#
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>();
|
|
}
|
|
}
|