29 lines
940 B
C#
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)));
|
|
}
|
|
}
|