Add Stripe donation flow
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user