Files
step3/api/QuestionsApi.Tests/DonationTests.cs
2026-07-19 22:26:33 -05:00

29 lines
940 B
C#

using QuestionsApi.Models;
using Xunit;
namespace QuestionsApi.Tests;
public sealed class DonationTests
{
[Theory]
[InlineData(499)]
[InlineData(1_000_001)]
public void RejectsAmountsOutsideConfiguredRange(long amountCents) =>
Assert.NotNull(DonationValidator.ValidateAmount(amountCents));
[Theory]
[InlineData(500)]
[InlineData(1_000)]
[InlineData(1_000_000)]
public void AcceptsAmountsInsideConfiguredRange(long amountCents) =>
Assert.Null(DonationValidator.ValidateAmount(amountCents));
[Fact]
public void PublicStatusDoesNotExposeStripeOrUserIdentifiers()
{
Assert.Null(typeof(DonationStatusResponse).GetProperty(nameof(Donation.UserId)));
Assert.Null(typeof(DonationStatusResponse).GetProperty(nameof(Donation.StripeCheckoutSessionId)));
Assert.Null(typeof(DonationStatusResponse).GetProperty(nameof(Donation.StripePaymentIntentId)));
}
}