using FluentAssertions;
using SIGCM2.Domain.Pricing.Exceptions;
namespace SIGCM2.Application.Tests.Domain.Pricing.ChargeableChars;
///
/// PRC-001 — Unit tests for ChargeableCharConfigReactivationNotAllowedException.
///
public sealed class ChargeableCharConfigReactivationNotAllowedExceptionTests
{
[Theory]
[InlineData("ALREADY_ACTIVE")]
[InlineData("VIGENTE_EXISTS")]
[InlineData("POSTERIOR_ROWS_EXIST")]
public void Constructor_SetsIdAndReason(string reason)
{
var ex = new ChargeableCharConfigReactivationNotAllowedException(42L, reason);
ex.Id.Should().Be(42L);
ex.Reason.Should().Be(reason);
ex.Message.Should().Contain("42");
ex.Message.Should().Contain(reason);
}
[Fact]
public void Exception_IsDomainException()
{
var ex = new ChargeableCharConfigReactivationNotAllowedException(1L, "ALREADY_ACTIVE");
ex.Should().BeAssignableTo();
}
}