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))); } }